亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

是不是在MFC中不能用win32 api程序?。课疫€是想用這個程序的,哪位高手告訴我如何改正?

是不是在MFC中不能用win32 api程序啊?我還是想用這個程序的,哪位高手告訴我如何改正?

C++
翻翻過去那場雪 2023-04-23 13:13:02
我用MFC做了一個對話框,確定按鈕的click事件中的一段代碼是用win32 api做的,代碼如下:void CchangeDlg::OnBnClickedOk(){// TODO: 在此添加控件通知處理程序代碼if (str_text!="")//MessageBox(_T("讀取數據"));// Register the window classWNDCLASSEX wc = { sizeof(WNDCLASSEX), CS_CLASSDC, MsgProc, 0L, 0L, GetModuleHandle(NULL), NULL, NULL, NULL, NULL,"D3D Tutorial", NULL };RegisterClassEx( &wc );// Create the application's windowHWND hWnd = CreateWindow( "D3D Tutorial", "D3D Tutorial 3ds Rendering", WS_OVERLAPPEDWINDOW, 100, 100, 300, 300,NULL, NULL, wc.hInstance, NULL );// Initialize Direct3Dif( SUCCEEDED( InitD3D( hWnd ) ) ){ // Create the scene geometryif( SUCCEEDED( InitGeometry() ) ){// Show the windowShowWindow( hWnd, SW_SHOWDEFAULT );UpdateWindow( hWnd );// Enter the message loopMSG msg; ZeroMemory( &msg, sizeof(msg) );while( msg.message!=WM_QUIT ){if( PeekMessage( &msg, NULL, 0U, 0U, PM_REMOVE ) ){TranslateMessage( &msg );DispatchMessage( &msg );}elseRender();}}}UnregisterClass( "D3D Tutorial", wc.hInstance );//return 0;else{MessageBox(_T("請輸入文件路徑"));OnOK();}}運行報錯:error C3861: “timeGetTime”: 找不到標識符error C2065: “wc”: 未聲明的標識符error C2228: “.hInstance”的左邊必須有類/結構/聯合類型是“'unknown-type'”error C2660: “CWnd::ShowWindow”: 函數不接受 2 個參數error C2660: “CWnd::UpdateWindow”: 函數不接受 1 個參數error C2228: “.hInstance”的左邊必須有類/結構/聯合類型是“'unknown-type'”error C2181: 沒有匹配 if 的非法 else 其實這些錯誤都是一個原因造成的,就是程序沒有識別出在mmsystem.h中的timeGetTime定義和winuster.h中的WNDCLASSEX等類的定義。我在頭文件中加了這些頭文件還是這些報錯。
查看完整描述

2 回答

?
汪汪一只貓

TA貢獻1898條經驗 獲得超8個贊

小樣搞笑了吧?這怎么可能是一個錯誤呢?你的錯誤很多呀!
先看wc,前面的語句表明了是if(XXX)才定義wc,那如果if不成立,你后面還能用wc嗎?對后面的語句,顯然wc是沒有定義過的。

CWnd::ShowWindow()
CWnd::UpdateWindow()
這說明你調用的根本不是API的函數;而是CWnd窗口類的成員函數--即MFC封裝的類。
正確的格式是
::ShowWindow()
::UpdateWindow()
API的函數可以看成是全局函數,需要增加名字空間運算符::來調用。。你需要告訴編譯器你所調用的是API的函數及全局變量,而不是MFC的。

下面的錯誤都是些語法錯誤自己改啦!

查看完整回答
反對 回復 2023-04-26
?
犯罪嫌疑人X

TA貢獻2080條經驗 獲得超4個贊

可以用 winapi,沒有影響。是不是你加載頭文件時候寫錯了?
比如#include "xxxx.h" 你寫成了 <xxxx.h>?
或者頭文件沒放到本目錄下?

查看完整回答
反對 回復 2023-04-26
  • 2 回答
  • 0 關注
  • 355 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號