c++gui编程资源
c++ gui programming resources
我将参加美国技能编程大赛,我不确定比赛会如何进行,但我知道一些规则。最大的问题是你不允许携带任何源代码。我还从一位老师那里听说QT Creator是不允许的。
如果我要在没有QT(或任何其他库捆绑包)的情况下用c++进行编码,但我必须使用windows本地的东西。。。我该怎么办。
我在一个网站上找到了一捆代码。它所做的只是创建一个窗口,我会更多地探索这个选择,但看看它有多少代码…
#include <windows.h>
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
static char sClassName[] = "MyClass";
static HINSTANCE zhInstance = NULL;
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) {
WNDCLASSEX WndClass;
HWND hwnd;
MSG Msg;
zhInstance = hInstance;
WndClass.cbSize = sizeof(WNDCLASSEX);
WndClass.style = NULL;
WndClass.lpfnWndProc = WndProc;
WndClass.cbClsExtra = 0;
WndClass.cbWndExtra = 0;
WndClass.hInstance = zhInstance;
WndClass.hIcon = LoadIcon(NULL, IDI_APPLICATION);
WndClass.hCursor = LoadCursor(NULL, IDC_ARROW);
WndClass.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
WndClass.lpszMenuName = NULL;
WndClass.lpszClassName = sClassName;
WndClass.hIconSm = LoadIcon(NULL, IDI_APPLICATION);
if(!RegisterClassEx(&WndClass)) {
MessageBox(0, "Error Registering Class!", "Error!", MB_ICONSTOP | MB_OK);
return 0;
}
hwnd = CreateWindowEx(WS_EX_STATICEDGE, sClassName, "db Tutorial", WS_OVERLAPPEDWINDOW, CW_USEDEFAULT,
CW_USEDEFAULT,
320, 240, NULL, NULL, zhInstance, NULL);
if(hwnd == NULL) {
MessageBox(0, "Error Creating Window!", "Error!", MB_ICONSTOP | MB_OK);
return 0;
}
ShowWindow(hwnd, nCmdShow);
UpdateWindow(hwnd);
while(GetMessage(&Msg, NULL, 0, 0)) {
TranslateMessage(&Msg);
DispatchMessage(&Msg);
}
return Msg.wParam;
}
LRESULT CALLBACK WndProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lParam) {
switch(Message) {
case WM_CLOSE:
DestroyWindow(hwnd);
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return DefWindowProc(hwnd, Message, wParam, lParam);
}
return 0;
}
我不会有问题学习更多关于这方面的知识,但由于我不被允许携带源代码,我必须记住大部分内容。这并没有发生。
有没有任何方法可以在c++中创建窗口/按钮,而不需要我使用QT之类的东西或键入一页代码来创建一个空窗口?我在谷歌上看了看,一切都是关于QT创建者的。任何帮助都会很棒。
我不是在寻找"简单的出路",而是那些我可以记住并当场打字的东西,而无需访问c++教科书之外的示例。
我看了一下网站,上面写着
计算机编程
比赛包括项目编码和输出,这是一项与技能相关的活动笔试和面试。参赛者将收到一包其中包括书面测试的说明以及这两项中的每一项项目。每个项目的规范都是为Visual Basic编写的,Java、C#、C++和RPG。项目将保存在桌面上的名为"SkillsUSA参赛者#_"的文件夹。所有项目都将下载到跳转驱动器或软盘(以学生喜欢的为准)并传送到主站以打印代码和屏幕。
你似乎可以使用上面提到的任何一种语言。你会得到一两个任务,并被要求对其进行编码。如果要包含任何UI,作为C++程序员,你将处于劣势。VB程序员可能在UI类型分配方面最容易。
有没有任何方法可以在c++中创建窗口/按钮,而不需要我使用QT之类的东西或键入一页代码来创建一个空窗口?我在谷歌上看了看,一切都是关于QT创建者的。任何帮助都会很棒。
为了更容易地进入Windows API级GUI编程,请查看我的"Windows API编程课程",该课程使用对话框资源来避免您的许多样板代码;重新放映。
不过,要创建这样的资源,您需要工具和文档。
听起来您;不允许这样做,在这种情况下,如果你绝对必须使用C++,并且绝对必须创建GUI,那么你;重新拧紧。但我想你一定误解了什么。一个人不能通过要求一个人在没有任何燃料的情况下驾驶公交车来测试他作为公交车司机的技能…
- 具有瞬态资源的RAII类
- C++ 雷神库 - 使用资源加载器类时出现问题(不命名类型)
- 有一个打印语句的函数是一种糟糕的编程实践吗
- 允许从 std::map 的密钥窃取资源?
- 我是C++编程的新手,这些代码之间有什么区别,我应该使用哪一个
- 参考资源文件VC++中的$(SolutionDir)
- 如何维护资源管理器项目视图中当前可见的项目列表
- 模板元编程:如何将参数包组合成新的参数包
- 将 std::allocate_shared 与多态资源分配器一起使用
- 使用RAII在给定次数的迭代后重新分配资源
- Qt可以编程方式设置资源吗?
- 有哪些学习动画编程的好资源
- 有关使用 C++ XAML for Metro 进行 Windows 8 编程的资源和信息
- c++gui编程资源
- Linux-哪些资源需要提升权限C/C++编程
- 以编程方式限制外部进程资源
- 当GDI资源不足时,以编程方式捕获窗口关闭事件
- 图形编程资源
- 我如何以编程方式找出IIS服务器有多少资源以及每个资源上的流量.等
- 如何以编程方式发送电子邮件,就像在 Windows 资源管理器中"Send To Mail Recipient"一样?