VC在哪写自己的代码?

themargorp 2010-07-01 09:07:32
别骂我脑残,新手。
请问,VC在哪写自己的代码?
我就看到界面的,不知道在哪些自己的,
对于从程序开始时运行到程序结束使的代码应该放哪?多线程?
还有按钮有事件吗?
总之就是自己代码往哪加,谢了。
...全文
364 32 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
32 条回复
切换为时间正序
请发表友善的回复…
发表回复
美猿君 2010-07-05
  • 打赏
  • 举报
回复
不要一口气吃成胖子,该做的准备工作还是要做的,我也是新手,都是基础学起的。
songtown 2010-07-05
  • 打赏
  • 举报
回复
ding LZ
guoln1010 2010-07-05
  • 打赏
  • 举报
回复
[Quote=引用 28 楼 themargorp 的回复:]
谢谢大家给的资料,在看了,还是要看书才会。我想问的那个不是MFC,我自己搞错了,应该是Win32项目,就是要自己画界面的那个。最后一个请求,能不能给我个例子看看.
[/Quote]
#include "stdio.h"
#include "windows.h"



LRESULT CALLBACK wndproc(
HWND hwnd,
UINT uMsg,
WPARAM wParam,
LPARAM lParam
);
HINSTANCE hInstance;

class win
{
public:
BOOL W_class();
BOOL create();
};


BOOL win::W_class()
{
WNDCLASS wdnclass;//设计窗口
wdnclass.style=CS_HREDRAW|CS_VREDRAW;;//窗口
wdnclass.lpfnWndProc=wndproc;//窗口指针很重要
wdnclass.cbClsExtra=0;//通常为0
wdnclass.cbWndExtra=0;//通常为0
wdnclass.hInstance=hInstance;//句柄
wdnclass.hIcon=LoadIcon(NULL,IDI_ERROR);//图标句柄
wdnclass.hCursor=LoadCursor(NULL,IDC_CROSS);//光标句柄
wdnclass.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);//背色句柄
wdnclass.lpszMenuName=NULL;
wdnclass.lpszClassName="zhuzi";//类的名字

return (RegisterClass(&wdnclass));//注册窗口
}

BOOL win::create()
{
HWND hwnd;
hwnd=CreateWindow("zhuzi","猪",WS_OVERLAPPEDWINDOW,
200,200,600,400,NULL,NULL,
hInstance,NULL);
//显示窗口
ShowWindow(hwnd,SW_SHOWNORMAL);
UpdateWindow(hwnd);
return hwnd;
}






int WINAPI WinMain(
HINSTANCE hInstance, // handle to current instance
HINSTANCE hPrevInstance, // handle to previous instance
LPSTR lpCmdLine, // command line
int nCmdShow // show state
)
{
win window
if(!window.W_class())
return 0;
if(!window.create())
return 0;





//消息循环
MSG msg;
while(GetMessage(&msg,NULL,0,0))
{
TranslateMessage(&msg);//接收消息
DispatchMessage(&msg);//将接收的消息处理
}
return 0;
}

//过程函数
LRESULT CALLBACK wndproc(
HWND hwnd,
UINT uMsg,
WPARAM wParam,
LPARAM lParam
)
{
HDC hdc;
PAINTSTRUCT ps;
switch(uMsg)
{
case WM_PAINT:
hdc=BeginPaint(hwnd,&ps);
TextOut(hdc,0,0,"猪",strlen("猪"));
EndPaint(hwnd,&ps);
break;
case WM_CHAR:
char szchar[20];
sprintf(szchar,"ch%d",wParam);
MessageBox(hwnd,szchar,"zhuzi",MB_OK);
break;
case WM_LBUTTONDOWN:
if(IDYES==MessageBox(hwnd,"猪编程","zhuzi",MB_YESNO))
{
HDC hDC;
hDC=GetDC(hwnd);
TextOut(hDC,150,150,"猪万岁",strlen("猪万岁"));
ReleaseDC(hwnd,hDC);
}
break;
case WM_CLOSE:
if(IDYES==MessageBox(hwnd,"真的退出","zhuzi",MB_YESNO))
{
DestroyWindow(hwnd);
}
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return DefWindowProc(hwnd,uMsg,wParam,lParam);
break;
}
return 0;

themargorp 2010-07-05
  • 打赏
  • 举报
回复
是不是一般都在WndProc过程里根据消息来写代码,比如case WM_KEYDOWN:之类的,或者多线程?
themargorp 2010-07-05
  • 打赏
  • 举报
回复
谢谢大家给的资料,在看了,还是要看书才会。我想问的那个不是MFC,我自己搞错了,应该是Win32项目,就是要自己画界面的那个。最后一个请求,能不能给我个例子看看.
vlongcom 2010-07-05
  • 打赏
  • 举报
回复
很好,楼上正解,建议楼主自己对着VS多摸索摸索
liufang8318 2010-07-03
  • 打赏
  • 举报
回复
随便找本vc练一下,就知道怎么加代码啦,但是要熟悉,还有一段路!还在摸索。
支持LZ
vnking 2010-07-03
  • 打赏
  • 举报
回复
[Quote=引用 21 楼 themargorp 的回复:]
给我点代码看看行吗?
[/Quote]

以下就是最典型的代码,仅供参考:



// Win32App3.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"

int main(int argc, char* argv[])
{
printf("我是老大我发飙!\n");
return 0;
}

kemee 2010-07-03
  • 打赏
  • 举报
回复
[Quote=引用 21 楼 themargorp 的回复:]
给我点代码看看行吗?
[/Quote]

我靠哦,你连哪里写代码都不晓得,给你代码你不是更加看不懂?你说的VC肯定是指MFC,这框架有许多东西IDE会给你自动添加,我也是这么过来的,你自己找本书编个对话框,拖个按钮,双击进去写点功能,点点就知道了,比你在这里墨迹快多了,楼主勤快点啊,看着都着急
vnking 2010-07-03
  • 打赏
  • 举报
回复
楼主建个简单工程,选择Win32 Application,再选择A sample win32 application

生成的工程只有:


// WinApp1.cpp : Defines the entry point for the application.
//

#include "stdafx.h"

int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
// TODO: Place code here.

return 0;
}



海阔天空任君写!
baoyz 2010-07-03
  • 打赏
  • 举报
回复
先练习写对话框程序,安上一个按钮,点两下,就会提示新建一个函数,确定后,就到函数体代码区了。里面加点功能。
编译,点按钮,功能就实现了。
jogger007 2010-07-02
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 visualeleven 的回复:]
先看孙鑫的视频教程。。。
[/Quote]
第一次见部长支持孙鑫。。。
S_S_Ge 2010-07-02
  • 打赏
  • 举报
回复
~~~~~~~~~~~~~~~
Eleven 2010-07-02
  • 打赏
  • 举报
回复
先看孙鑫的视频教程。。。
这不是鸭头 2010-07-02
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 xianglitian 的回复:]
建议你先找本基础的书来看看
你这问题还真不太好回答
[/Quote]
向立天 2010-07-02
  • 打赏
  • 举报
回复
建议你先找本基础的书来看看
你这问题还真不太好回答
kemee 2010-07-02
  • 打赏
  • 举报
回复
这哪问的出来啊,cpp,h里写代码啊,过于基础的知识自己去学比来这问快的多了
liweisdut 2010-07-02
  • 打赏
  • 举报
回复
[Quote=引用楼主 themargorp 的回复:]
别骂我脑残,新手。
请问,VC在哪写自己的代码?
我就看到界面的,不知道在哪些自己的,
对于从程序开始时运行到程序结束使的代码应该放哪?多线程?
还有按钮有事件吗?
总之就是自己代码往哪加,谢了。
[/Quote]
一开始,找些书书,找些实例,多看看,再跟着练一练,像这类的问题就不会出现了
qq_heilongjiang 2010-07-02
  • 打赏
  • 举报
回复
要看是MFC程序还是什么呀
wltg2001 2010-07-02
  • 打赏
  • 举报
回复
找本书看看吧
加载更多回复(12)

16,548

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • AIGC Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧