MFC程式設計 怎樣設定對話方塊在螢幕上的位置

2025-07-16 15:40:08 字數 1503 閱讀 1016

mfc中怎樣將設定彈出視窗在螢幕的位置?

1樓:匿名使用者

對於這個問題你必須首先知道:

1,你要知道系統自身是設定過視窗的顯示的位置的,就在createwindow的時候,但是你最好還是不要改那個位置,因為那是microsoft給我們提供的源**,你把那個改了之後,那麼以後你所有的視窗的顯示都是你現在的設定了;

2,必須是視窗建立成功後的,你才能設定它的位置,就像是:當乙個東西不存在的時候你是不能對它作任何要求的;

3,你要找到視窗剛剛建立成功時是在哪個地方,顯示的時候是在什麼地方,這個我可以告訴你,是在instance()函式的裡面完成的,但是,這只是把這個應用程式例項化了,這個裡面只有乙個domodal(),基本上這個裡面是改不了什麼東西的,還有乙個位置就是oninitdialog()函式,它是來初始化這個dialog的,自然它的顯示位置和大小都是可以控制的,那麼你在此處呼叫movewindow()是可以的。

至於還有乙個函式是setwindowpos(),這個我剛試過了,對與對話方塊的應用程式是不行的,這應該是單文件和多文件的應用程式中使用彈出式視窗的時候可以使用。

在oninitdialog()這個裡面使用movewindow(1,1,100,100)就可以顯示在(1,1)這個位置上顯示乙個寬100,高100的對話方塊了。。。

在mfc中新建了乙個對話方塊,然後我想將新建的對話方塊位置設定為相對於主對話方塊的乙個指定位置,該怎麼操作

2樓:網友

子對話方塊ctestdlg屬性 :

style改為chlid

border改為none

在主對話方塊oninitdialog函式中新增**:

ctestdlg testdlg;

crect rc;

getwindowrect(&rc);

你是想單純的放到指定位置,還是想做成那種幾個分頁欄的。

mfc中怎麼樣在對話方塊建立前設定對話方塊的大小和位置

3樓:網友

可以放在oninitdialog裡面。

可以用movewindow(x,y,w,h);

前兩個是相對螢幕左上角的xy座標,不過不要用0,0,如果輸入0,0還是會在螢幕中間,不知道為什麼。

後兩個引數是寬度和高度。

全部是int型別。

mfc 設定對話方塊在螢幕上的顯示位置

4樓:

應用程式窗在桌面上的起始位置,好像是由視窗系統臨時決定的。

除非你能改寫createwindow

mfc中怎樣將設定彈出視窗在螢幕的位置?怎麼解決的啊。。。謝啦!!!

5樓:網友

如果是自己定義的視窗,那麼movewindow、setwindowpos都可以設定位置。

如果是messagebox之類的系統視窗,無法指定詳細的彈出位置。

mfc怎麼彈出對話方塊或者警告框,MFC怎麼彈出對話方塊或者警告框

afxmessagebox t 列表為空!其中 t是為了適應多型別字串 unicode和多位元組 該函式還可以定製按鈕和圖示樣式,如下為帶有問號圖示和三按鈕的提示框 if idyes afxmessagebox t 是否要清空列表?mb iconquestion mb yesnocancel do ...

MFC,有兩個對話方塊

hwnd hwnd findwindow null,t 我是2號對話方塊 hwnd hbtn findwindowex hwnd null,null,t 我是按鈕 sendmessage hbtn,bm click,0,0 沒有getdlgitem idd mymfc dialog getdlgit...

關於MFC對話方塊的重新整理問題

再次讀取資料庫,然後顯示。invalidate updatedata這些是沒用的,雖然視窗已經重畫過了,但是你的資料還沒有更新,重畫以後依然你以前的影象,只有重新讀取資料以後,再重畫的時候就是你的新資料null了。我也剛學mfc 可能我的意見不是最好的,但是你可以試一試。你說讀取資料庫中image類...