已经学过C语言,离视窗程式设计还有多远?

Home Home
引用 | 编辑 admin0n
2008-02-12 08:57
楼主
推文 x0
基本的C语言我有学过,

到了书店翻一下C++的书,发现到写出来的范例仍是指令式、文字式的表现,

感觉如果学会了C++,好像无法写出 ..

访客只能看到部份内容,免费 加入会员



献花 x0
引用 | 编辑 totsi
2008-02-12 11:03
1楼
  
C++要写Windows视窗的话请参考MFC
里面有很多视窗的类别可以使用

献花 x0
引用 | 编辑 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语言,离视窗程式设计还有多远?:
基本的C语言我有学过,

到了书店翻一下C++的书,发现到写出来的范例仍是指令式、文字式的表现,

感觉如果学会了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发表的 :
谢谢大家回答,综合以上所说,

学会了基本的C语言,还必须要学C++?不学C++行吗?

Windows视窗程式设计还要学MFC?
.......

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发表的 :


1.可以把c跟c++当成二种不一样的语言来学

2.Windows视窗程式设计不是只有MFC,MFC也只是别人包好的工具,重点是...Windows程式设计的原理跟架构
.......
可是下面这基本的视窗程式有包含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发表的 :

可是下面这基本的视窗程式有包含C++的类别观念?
怎说只会C语言也可写视窗程式?

windows程式最基本入门
.......


类别在那里.....??

献花 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发表的 :
抱歉,kolong
但以下这些是什么语法?
LRESULT CALLBACK WindowProcedure ();
int WINAPI WinMain ();
为什么int WinMain (); 中间要加一个WINAPI?C语言里面没有这样语法?
.......

LRESULT CALLBACK WindowProcedure ();
这个是视窗程式设计的新观念...
你要学的就是这个新东西
其实也是define

int WINAPI WinMain ();

那个WINAPI也是define..
如果有兴趣可以去看一下windows.h的东西

msdn是你要进视窗程式设计必定会去看的东西
因为这是微软出的说明手册.

电脑是跑机械语言,不管你是用什么程式语言去写的,
最后都会变成机械语言来跑.
所以理论上来说,任何语言都可以写视窗程式.

献花 x0