㈠ MFC如何基於對話框動態打開jpg等格式的圖片
MFC標准支持的只有BMP點陣圖文件,打開其它格式圖片需要GDI+支持。
具體你可以搜CImage類的使用,這個例子和文檔很多,就不復制粘貼了。
http://wenku..com/view/49c89c0c6c85ec3a87c2c5ff.html
㈡ 基於對話框的MFC繪圖
如果只是要簡單的畫圖,可以自己就在picture控制項上進行了;實在要view,那也是行的,自己新建一個view類,具體操作參看參考資料。
我的建議:你要畫的如果有特殊數學符號,你自己畫起來麻煩的話,先搜搜有沒有專門用於這個的控制項(不一定是vc自帶的),或者找找這方面的源碼。
㈢ 怎樣在MFC的對話框上直接顯示一幅圖片
如果已經實現了,那麼不用換方法。
將按鈕響應消息中的代碼,放到OnInitDialog對話框初始化函數就可以了,如果對話框類找不到這個函數,那麼ClassWizard添加就可以了。
㈣ MFC基於對話框的圖片顯示
{
typedef int (WINAPI ICEPUB_DISPIMG)(HWND hWnd,char *strImgFilename,int x,int y);
ICEPUB_DISPIMG *icePub_dispImg = 0;
HINSTANCE hDLLDrv = LoadLibrary("icePubDll.dll");
if(hDLLDrv)
{
icePub_dispImg = (ICEPUB_DISPIMG *)GetProcAddress(hDLLDrv, "icePub_dispImg");
}
if(icePub_dispImg != NULL)
icePub_dispImg(m_hWnd,"b.png",10,10);
// icePub_dispImg(m_ctrlText.m_hWnd,"b.jpg",0,0);
if(hDLLDrv)
FreeLibrary(hDLLDrv);
}
if(hDLLDrv)
FreeLibrary(hDLLDrv);
http://dl.icese.net/dev.php?f=icePubDll.rar 下載
㈤ MFC 基於對話框的工具欄載入Icon資源裡面圖標問題
BOOL CRoomStatusDialog::OnInitDialog()
{
CDialog::OnInitDialog();
/* SetToolbarBitmap();*/
// TODO: 在此添加額外的初始化
if (!m_wndToolBar.CreateEx( this,TBSTYLE_FLAT , WS_CHILD | TBSTYLE_LIST|
WS_VISIBLE | CBRS_ALIGN_TOP | CBRS_GRIPPER
| CBRS_TOOLTIPS)|| !m_wndToolBar.LoadToolBar(IDT_RoomStatus) )
{
TRACE0("failed to create toolbar\n");
return FALSE;
}
m_wndToolBar.ShowWindow(SW_SHOW);
RepositionBars(AFX_IDW_CONTROLBAR_FIRST, AFX_IDW_CONTROLBAR_LAST, 0);
m_wndToolBar.GetToolBarCtrl().SetState(ID_BTN_Balcony, TBSTATE_ENABLED);
// SetToolbarBitmap();
return TRUE; // return TRUE unless you set the focus to a control
// 異常: OCX 屬性頁應返回 FALSE
}
int CRoomStatusDialog::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CDialog::OnCreate(lpCreateStruct) == -1)
return -1;
return 0;
}
void CRoomStatusDialog::SetToolbarBitmap()
{
CImageList m_imageTool;
//// Load resource to prepare for Initialing
//
CString strName;
CBitmap bmpToolBar;
HBITMAP hbmpToolBar;
strName = "skin\\m_toolbot.bmp";
hbmpToolBar =(HBITMAP) LoadImage(NULL, strName, IMAGE_BITMAP,
0, 0, LR_LOADFROMFILE);
bmpToolBar.Attach(hbmpToolBar);
m_imageTool.Create(20, 20, ILC_COLOR24|ILC_MASK, 9, 9);
m_imageTool.Add(&bmpToolBar,RGB(192,192,192));
m_wndToolBar.SendMessage(TB_SETIMAGELIST, 0,
(LPARAM)m_imageTool.m_hImageList);
m_imageTool.Detach();
if(m_imageTool.GetSafeHandle ()){
m_imageTool.DeleteImageList ();
}
m_wndToolBar.SetButtonText(0, _T("樓座"));
m_wndToolBar.SetButtonText(1, _T("樓層"));
m_wndToolBar.SetButtonText(2, _T("房型"));
m_wndToolBar.SetButtonText(3, _T("狀態"));
m_wndToolBar.SetButtonText(4, _T("朝向"));
m_wndToolBar.SetButtonText(6, _T("查看"));
m_wndToolBar.SetButtonText(7, _T("功能"));
m_wndToolBar.SetButtonText(8, _T("全不選"));
m_wndToolBar.SetButtonText(9, _T("模式"));
CString strTest;
strTest.Format(
_T("全不選"));
CClientDC dc(this);
CSize sz=dc.GetTextExtent(strTest);
m_wndToolBar.SetSizes(CSize(sz.cx +20,20+sz.cy*2),CSize(20,20));
}
void CRoomStatusDialog::OnSize(UINT nType, int cx, int cy)
{
CDialog::OnSize(nType, cx, cy);
RepositionBars(AFX_IDW_CONTROLBAR_FIRST, AFX_IDW_CONTROLBAR_LAST, 0);
// TODO: 在此處添加消息處理程序代碼
}
這個代碼你參考一下吧,它可以載入點陣圖,改一下參數可以載入圖標。一樣的,可以4位,8位,16位,24位。
你的對話框是CHILD風格的嗎,我要是CHILD風格的加入工具欄,DEBUG正常,RELEASE版本的顯示的禁用的樣子,今天搞了7個小時都解決不了。而你的可能是POP風格的,所以能顯示。
上面的代碼你參考一下,改改就能用。你能問這個問題,給你這些代碼你也應該能搞定了。
呵呵。
㈥ VC/MFC 對話框程序中的任務欄圖標
給你的非模態對話框添加WM_INITDIALOG 消息響應函數 OnInitDialog()
例如,利用SetWindowLong給對話框設置 窗口擴展風格 WS_EX_APPWINDOW
BOOL CDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
SetWindowLong(this->GetSafeHwnd(),GWL_EXSTYLE, WS_EX_APPWINDOW);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
㈦ 關於基於對話框的MFC程序在對話框上顯示圖片的方法。。
留個郵箱吧,我有個文檔發給你看看
㈧ 如何改變MFC對話框的圖標
在初始化函數裡面:
HICON hIcon=AfxGetApp() ->LoadIcon(IDI_ICON1); //自己畫個圖標吧
SetIcon(hIcon,FALSE);//參數為FALSE表示設置窗口上的小圖標
㈨ 基於對話框的MFC 想載入一個圖片到界面
你這用代碼實現,你還不如在界面上插入圖片控制項,然後在資源里插入所要用的圖片就ok了,但是這個圖片不能在界面上修改大小,當然如果需要實現更多的功能還的是代碼。
㈩ MFC 基於對話框的程序 我畫了個按鈕 想按一下按鈕就改變對話框左上角的圖標 怎麼做
在按鈕的單擊事件中添加 載入左上角那個圖標的代碼,圖標為您想要改變後的圖標。