我想要用vc++写个窗口程序就是mfc最原始的那种只有一个主窗口的那种,但是找了很多大虾的代码拿来就没用都编译不通过。。我选择的项目是win32控制台应用程序,为什么不行啊。。谁能帮帮我,菜鸟入门太难的了啊
解决方案 »
- recv接收慢,而send很快,从而导致网卡缓存大于程序recv函数缓存
- 关于自定义开发控件的问题
- 请问我一个对话框里有100个编辑框,怎么给它们批量赋值呢?
- 如何通过TrueType字体的GLYPH索引获得对应的字符的unicode代码
- 菜鸟问题,各位高手帮忙
- 我有个棘手的问题,不知道高手能否给我解决,关于vc安装的问题
- 如何用VC的implib为我的DLL生成一个LIB,我在vc中查不到这个工具?
- 函数替换问题:)
- 斑竹!帮忙!好多天了!急!取得控件句柄的问题!
- 界面库duilib bkimage corner属性问题
- 【求助】[ADO]代码由VB向VC移植的问题
- richedit 富文本框的用法
==========
你用控制台做MFC主窗品的程序,不能成功是应该的,成功了才是怪事呢!
那就建个MFC对话框程序 删掉默认的两个按钮
MFC也是windows应用程序,而不是win32控制台应用程序吗?
你应该先找本VC基础书看下。
再新建一个c++(cpp)文件里面复制了以下代码。
LZ的想法也可以实现,找本VC程序设计,或Windows程序设计的书看看,一般前两章讲的就是这个,好长时间没做这方面的东西了,参考入下
#include <windows.h>
#include <stdio.h>CALLBACK WinMYProc(
HWND hWnd, // handle to window
UINT uMsg, // message identifier
WPARAM wParam, // first message parameter
LPARAM lParam // second message parameter
);WinMain int WINAPI WinMain(
HINSTANCE hInstance, // handle to current instance
HINSTANCE hPrevInstance, // handle to previous instance
LPSTR lpCmdLine, // command line
int nCmdShow ) // show state
{
WNDCLASS wndcls;//注册窗口类
wndcls.cbClsExtra=0;
wndcls.cbWndExtra=0;
wndcls.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);
wndcls.hCursor=LoadCursor(NULL,IDC_ARROW);
wndcls.hIcon=LoadIcon(NULL,IDI_WINLOGO);
wndcls.hInstance=hInstance;
wndcls.lpfnWndProc=WinMYProc;
wndcls.lpszClassName="BEYOND";
wndcls.lpszMenuName=NULL;
wndcls.style=CS_HREDRAW | CS_VREDRAW;
RegisterClass(&wndcls); // 创建和显示窗口了
HWND hWnd;
hWnd=CreateWindow("BEYOND",lovebeyond",WS_OVERLAPPEDWINDOW,
0,0,600,400,NULL,NULL,hInstance,NULL);
ShowWindow(hwnd,SW_SHOWNORMAL);
UpdateWindow(hWnd); // 消息循环了
MSG msg;
while(GetMessage(&msg,NULL,0,0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;
}
//消息响应函数
LRESULT CALLBACK WinMYProc(
HWND hWnd, // handle to window
UINT uMsg, // message identifier
WPARAM wParam, // first message parameter
LPARAM lParam) // second message parameter
{
switch(uMsg)
{
case WM_CHAR: //键盘消息
char szChar[20];
sprintf(szChar,"char is %d",wParam);
MessageBox(hWnd,szChar,"char",0);
break;
case WM_LBUTTONDOWN: //鼠标左键按下
MessageBox(hWnd,"mouse clicked","message",0);
break;
case WM_PAINT:
HDC hDC;
PAINTSTRUCT ps;
hDC=BeginPaint(hWnd,&ps);
TextOut(hDC,0,0,"lovebeyond",strlen("lovebeyond"));
EndPaint(hwnd,&ps);
break;
case WM_CLOSE: //关闭消息
if(IDYES==MessageBox(hWnd,"想要结束吗?","message",MB_YESNO))
{
DestroyWindow(hWnd);
}
break;
case WM_DESTROY://销毁窗口消息
PostQuitMessage(0);
break;
default:
return DefWindowProc(hWnd,uMsg,wParam,lParam);
}
return 0;
}最后保存文件名字是romic11再
点启动调试,
出现了无法启动程序 说找不到指定文件也是就编译的文件。这是为什么???
再新建一个c++(cpp)文件里面复制了以下代码。#include <windows.h>
#include <stdio.h>CALLBACK WinMYProc(
HWND hWnd, // handle to window
UINT uMsg, // message identifier
WPARAM wParam, // first message parameter
LPARAM lParam // second message parameter
);WinMain int WINAPI WinMain(
HINSTANCE hInstance, // handle to current instance
HINSTANCE hPrevInstance, // handle to previous instance
LPSTR lpCmdLine, // command line
int nCmdShow ) // show state
{
WNDCLASS wndcls;//注册窗口类
wndcls.cbClsExtra=0;
wndcls.cbWndExtra=0;
wndcls.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);
wndcls.hCursor=LoadCursor(NULL,IDC_ARROW);
wndcls.hIcon=LoadIcon(NULL,IDI_WINLOGO);
wndcls.hInstance=hInstance;
wndcls.lpfnWndProc=WinMYProc;
wndcls.lpszClassName="BEYOND";
wndcls.lpszMenuName=NULL;
wndcls.style=CS_HREDRAW | CS_VREDRAW;
RegisterClass(&wndcls); // 创建和显示窗口了
HWND hWnd;
hWnd=CreateWindow("BEYOND",lovebeyond",WS_OVERLAPPEDWINDOW,
0,0,600,400,NULL,NULL,hInstance,NULL);
ShowWindow(hwnd,SW_SHOWNORMAL);
UpdateWindow(hWnd); // 消息循环了
MSG msg;
while(GetMessage(&msg,NULL,0,0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;
}
//消息响应函数
LRESULT CALLBACK WinMYProc(
HWND hWnd, // handle to window
UINT uMsg, // message identifier
WPARAM wParam, // first message parameter
LPARAM lParam) // second message parameter
{
switch(uMsg)
{
case WM_CHAR: //键盘消息
char szChar[20];
sprintf(szChar,"char is %d",wParam);
MessageBox(hWnd,szChar,"char",0);
break;
case WM_LBUTTONDOWN: //鼠标左键按下
MessageBox(hWnd,"mouse clicked","message",0);
break;
case WM_PAINT:
HDC hDC;
PAINTSTRUCT ps;
hDC=BeginPaint(hWnd,&ps);
TextOut(hDC,0,0,"lovebeyond",strlen("lovebeyond"));
EndPaint(hwnd,&ps);
break;
case WM_CLOSE: //关闭消息
if(IDYES==MessageBox(hWnd,"想要结束吗?","message",MB_YESNO))
{
DestroyWindow(hWnd);
}
break;
case WM_DESTROY://销毁窗口消息
PostQuitMessage(0);
break;
default:
return DefWindowProc(hWnd,uMsg,wParam,lParam);
}
return 0;
}最后保存文件名字是romic11再
点启动调试,
出现了无法启动程序 说找不到指定文件也是就编译的文件。这是为什么???
#include <stdio.h>LRESULT CALLBACK WinSunProc(
HWND hwnd, // handle to window
UINT uMsg, // message identifier
WPARAM wParam, // first message parameter
LPARAM lParam // second message parameter
);int WINAPI WinMain(
HINSTANCE hInstance, // handle to current instance
HINSTANCE hPrevInstance, // handle to previous instance
LPSTR lpCmdLine, // command line
int nCmdShow // show state
)
{
WNDCLASS wndcls;
wndcls.cbClsExtra=0;
wndcls.cbWndExtra=0;
wndcls.hbrBackground=(HBRUSH)GetStockObject(BLACK_BRUSH);
wndcls.hCursor=LoadCursor(NULL,IDC_CROSS);
wndcls.hIcon=LoadIcon(NULL,IDI_ERROR);
wndcls.hInstance=hInstance;
wndcls.lpfnWndProc=WinSunProc;
wndcls.lpszClassName="sunxin2006";
wndcls.lpszMenuName=NULL;
wndcls.style=CS_HREDRAW | CS_VREDRAW;
RegisterClass(&wndcls); HWND hwnd;
hwnd=CreateWindow("sunxin2006","http://www.sunxin.org",WS_OVERLAPPEDWINDOW,
0,0,600,400,NULL,NULL,hInstance,NULL); ShowWindow(hwnd,SW_SHOWNORMAL);
UpdateWindow(hwnd); MSG msg;
while(GetMessage(&msg,NULL,0,0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;
}LRESULT CALLBACK WinSunProc(
HWND hwnd, // handle to window
UINT uMsg, // message identifier
WPARAM wParam, // first message parameter
LPARAM lParam // second message parameter
)
{
switch(uMsg)
{
case WM_CHAR:
char szChar[20];
sprintf(szChar,"char code is %d",wParam);
MessageBox(hwnd,szChar,"char",0);
break;
case WM_LBUTTONDOWN:
MessageBox(hwnd,"mouse clicked","message",0);
HDC hdc;
hdc=GetDC(hwnd);
TextOut(hdc,0,50,"程序员之家",strlen("程序员之家"));
//ReleaseDC(hwnd,hdc);
break;
case WM_PAINT:
HDC hDC;
PAINTSTRUCT ps;
hDC=BeginPaint(hwnd,&ps);
TextOut(hDC,0,0,"http://www.sunxin.org",strlen("http://www.sunxin.org"));
EndPaint(hwnd,&ps);
break;
case WM_CLOSE:
if(IDYES==MessageBox(hwnd,"是否真的结束?","message",MB_YESNO))
{
DestroyWindow(hwnd);
}
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return DefWindowProc(hwnd,uMsg,wParam,lParam);
}
return 0;
}
我用vs2005新建了一个项目是:win32项目取名字叫romic11,然后下一步选择windows应用程序,空项目,然后完成。。
再新建一个c++(cpp)文件里面复制了以下代码。然后贴了一段代码最后保存文件名字是romic11再
点启动调试,
出现了无法启动程序 说找不到指定文件也是就编译的文件。这是为什么???
这个太牛了,你能通过就牛逼了