引用 | 编辑
cooperpon
2008-02-12 11:13 |
2楼
▲ ▼ |
其实你可以写了
不过看你是要用何种开发环境 若是初学的话 试试visual stdio C++ 6.0 或 visual basic 6.0 开MFC 的project 就可以编辑你的视窗程式了 不懂得语法 试着去查阅MSDN 相信会进步的很快的 若是要高阶点 试试.net 现在版本到2008 这平台就很多种了language 像是C# 若是要学 去买本书吧 有C的底子 很容易上手的 以上说的 是在windows环境 x0 |
引用 | 编辑
kolong
2008-02-12 12:07 |
3楼
▲ ▼ |
下面是引用admin0n于2008-02-12 08:57发表的 已经学过C语言,离视窗程式设计还有多远?: 请去买一本Windows程式设计的书来看.. c++只是基本的工具. 不会用工具,如何造房子. x0 |
引用 | 编辑
admin0n
2008-02-12 18:33 |
4楼
▲ ▼ |
谢谢大家回答,综合以上所说,
学会了基本的C语言,还必须要学C++?不学C++行吗? Windows视窗程式设计还要学MFC? 编译程式为什么一定要用"visual stdio C++ 6.0"?这样会不会太偷懒忘了些基本的东西? basic与C#是另外或较新的东西,没有这些东西也可写出Windows视窗程式? 虽然说写视窗程式有很多种方法,但我想问比较古早、正统的必要方式:所需的程式语言与工具为何? 简单说,13年前(1995年),那时没有visual studio,没有C#,没有.net, 那时是怎样写Windows视窗程式?只会基本C语言应该不行写视窗程式? x0 |
引用 | 编辑
kolong
2008-02-12 23:02 |
5楼
▲ ▼ |
下面是引用admin0n于2008-02-12 18:33发表的 : 1.可以把c跟c++当成二种不一样的语言来学 2.Windows视窗程式设计不是只有MFC,MFC也只是别人包好的工具,重点是...Windows程式设计的原理跟架构 3.新手建议是用make来complie程式 4.只会c还是可以写Windows视窗程式 PS:只用组合语言也可以写Windows视窗程式唷...... x0 |
引用 | 编辑
admin0n
2008-02-14 11:50 |
6楼
▲ ▼ |
下面是引用kolong于2008-02-12 23:02发表的 :可是下面这基本的视窗程式有包含C++的类别观念? 怎说只会C语言也可写视窗程式? windows程式最基本入门 #include <windows.h> LRESULT CALLBACK WindowProcedure (HWND, UINT, WPARAM, LPARAM); char szClassName[ ] = "FRM_HAUTOCFG"; HWND hwnd; int WINAPI WinMain (HINSTANCE hThisInstance, HINSTANCE hPrevInstance, LPSTR lpszArgument, int nFunsterStil) { MSG messages; WNDCLASSEX wincl; wincl.hInstance = hThisInstance; wincl.lpszClassName = szClassName; wincl.lpfnWndProc = WindowProcedure; wincl.style = CS_DBLCLKS; wincl.cbSize = sizeof (WNDCLASSEX); wincl.hIcon = LoadIcon (NULL, IDI_APPLICATION); wincl.hIconSm = LoadIcon (NULL, IDI_APPLICATION); wincl.hCursor = LoadCursor (NULL, IDC_ARROW); wincl.lpszMenuName = NULL; wincl.cbClsExtra = 0; wincl.cbWndExtra = 0; wincl.hbrBackground = (HBRUSH) COLOR_BACKGROUND; if (!RegisterClassEx (&wincl)) return 0; hwnd = CreateWindowEx ( 0, szClassName, "AutoConfig", WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 544, 375, HWND_DESKTOP, NULL, hThisInstance, NULL ); ShowWindow (hwnd, SW_HIDE); while (GetMessage (&messages, NULL, 0, 0)) { TranslateMessage(&messages); DispatchMessage(&messages); } return messages.wParam; } LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) { switch (message) { case WM_DESTROY: //------------------------------------------ PostQuitMessage (0); //------------------------------------------ break; default: /* for messages that we don't deal with */ return DefWindowProc (hwnd, message, wParam, lParam); } return 0; } x0 |
引用 | 编辑
kolong
2008-02-14 12:56 |
7楼
▲ ▼ |
下面是引用admin0n于2008-02-14 11:50发表的 : 类别在那里.....?? x0 |
引用 | 编辑
admin0n
2008-02-18 20:15 |
8楼
▲ ▼ |
抱歉,kolong
但以下这些是什么语法? LRESULT CALLBACK WindowProcedure (); int WINAPI WinMain (); 为什么int WinMain (); 中间要加一个WINAPI?C语言里面没有这样语法? 同样的LRESULT CALLBACK也是很奇怪? HWND hwnd; MSG messages; WNDCLASSEX wincl; 以上3个HWND、MSG、WNDCLASSEX听说是typedef定义的关键字, 从哪里可以找到typedef定义的过程? x0 |
引用 | 编辑
kolong
2008-02-19 13:03 |
9楼
▲ |
下面是引用admin0n于2008-02-18 20:15发表的 : LRESULT CALLBACK WindowProcedure (); 这个是视窗程式设计的新观念... 你要学的就是这个新东西 其实也是define int WINAPI WinMain (); 那个WINAPI也是define.. 如果有兴趣可以去看一下windows.h的东西 msdn是你要进视窗程式设计必定会去看的东西 因为这是微软出的说明手册. 电脑是跑机械语言,不管你是用什么程式语言去写的, 最后都会变成机械语言来跑. 所以理论上来说,任何语言都可以写视窗程式. x0 |