WNDCLASS wndclass;
wndclass.lpszClassName="the name";
RegisterClass(&wndclass);
HWND hwnd=CreateWindow("the name",...);
如上代码所示,什么时候用窗口名字,什么时候用窗口类名字(只是注册窗口类的时候用么?),还有每一个窗口类都对应一个窗口名字,那他们是不是一一对应关系,如果这样,为什么还需要将他们分开,公用一个名字岂不就够了,这么做的理由和原理是什么?
谢谢!
举例来说就是,所有的按钮控件都是同一个window class:"button"。但是它们的窗口名字(按钮上的文字)不一样。
HWND hwnd=CreateWindow("the name",...);
第一个参数是窗口类名称,这个必须是已经注册过的,所以它是取决于你想创建哪一种窗口。例如,radio button, check box, push button 都是 button。 Group box, eched line, image box, static 都是 static。
第二个参数window text 你可以随意填的,是窗口,对话框的标题,控件的文本。
两者用 GetClassName ,GetWindowText 获取,后者可用 SetWindowText 设置。
一个窗口类可以有多个窗口实例,每个窗口实例有自己的window text。但他们的行为方式是相同的,即由窗口类的 wnd procedure 来定义。