onctlcolor
ctlcolor_dlg
hbrush cdemodlg::onctlcolor(cdc* pdc, cwnd* pwnd, uint nctlcolor)根據控制項id更改,這個事件一直觸發return hbr;
}
hbrush cdemodlg::onctlcolor(cdc* pdc, cwnd* pwnd, uint nctlcolor)在onpaint事件中使用cpaintdc的textout方法return hbr;
}
void cdemodlg::onpaint()使用cmenu物件的loadmenu方法載入資源,然後呼叫setmenu方法設定選單else
}
//載入選單資源使用c*******相關方法m_menu.loadmenu(idr_menu);
//設定當前選單
setmenu(&m_menu);
//建立工具欄類似的,使用cstatusbarif (!m_wnd*******.create(this))
//載入工具欄資源
if (!m_wnd*******.load*******(idr_*******))
//獲得舊客戶區座標
crect rcoldclient;
getclientrect(rcoldclient);
//獲得新客戶區座標
crect rcnewclient;
repositionbars(afx_idw_controlbar_first, afx_idw_controlbar_last,
0, reposquery, rcnewclient);
//移動主視窗
crect rcmain;
getwindowrect(rcmain);
rcmain.right += rcoldclient.width() - rcnewclient.width();
rcmain.bottom += rcoldclient.height() - rcnewclient.height();
movewindow(rcmain, false);
//移動所有子視窗
crect rcchild;
cpoint point(rcnewclient.left - rcoldclient.left, rcnewclient.top - rcoldclient.top);
cwnd* pchildwnd = getwindow(gw_child);
while (pchildwnd != null)
//重新定位工具欄
repositionbars(afx_idw_controlbar_first, afx_idw_controlbar_last, 0);
//建立狀態列視窗if (!m_wndstatusbar.create(this))
//id陣列
uint idarray[2];
for (int n = 0; n < 2; n++)
//設定狀態列指示器
m_wndstatusbar.setindicators(idarray, sizeof(idarray) / sizeof(uint));
//設定窗格寬度
m_wndstatusbar.setpaneinfo(0, idarray[0], sbps_normal, 100);
m_wndstatusbar.setpaneinfo(1, idarray[1], sbps_stretch, 0);
//設定窗格文字
m_wndstatusbar.setpanetext(0, _t("狀態列:"));
m_wndstatusbar.setpanetext(1, _t(""));
//獲得舊客戶區座標
crect rcoldclient;
getclientrect(rcoldclient);
//獲得新客戶區座標
crect rcnewclient;
repositionbars(afx_idw_controlbar_first, afx_idw_controlbar_last,
0, reposquery, rcnewclient);
//移動主視窗
crect rcmain;
getwindowrect(rcmain);
rcmain.right += rcoldclient.width() - rcnewclient.width();
rcmain.bottom += rcoldclient.height() - rcnewclient.height();
movewindow(rcmain, false);
//移動所有子視窗
crect rcchild;
cpoint point(rcnewclient.left - rcoldclient.left, rcnewclient.top - rcoldclient.top);
cwnd* pchildwnd = getwindow(gw_child);
while (pchildwnd != null)
//重新定位狀態列
repositionbars(afx_idw_controlbar_first, afx_idw_controlbar_last, 0);
Win32 對話方塊 2
修改樣式 調整屬性面板的border屬性 使用movewindow方法調整大小 void cdemodlg ontest else 設定視窗大小 movewindow rect 呼叫centerwindow方法 居中顯示視窗 centerwindow 這個是啥 不懂 就是隱藏窗體,但不是銷毀 voi...
Win32新增對話方塊
模態對話方塊 在要顯示對話方塊的地方 dialogbox hinstance,實力控制代碼 makeintresource idd dialog1 對話方塊資源id hwnd,父視窗控制代碼 dlgproc 處理的視窗過程函式 視窗處理過程函式 bool callback dlgproc hwnd ...
MFC學習 3 對話方塊
因為我看的是別人的文件寫的,所以不好意思直接複製貼上人家的到我的部落格上,我也就是標記下哪些地方有那些東西方便自己以後檢視而言,如果想自己操作推薦看一下雞啄公尺的文件,裡面真的說的很詳細,基本上都可以做出來 屬性頁對話方塊及相關類的介紹 屬性頁對話方塊 屬性頁對話方塊就是包含一般屬性頁對話方塊和嚮導...