VS2010中C++图形界面初始化(对应C中的initgraph)

goldfrapp04 2012-02-13 08:39:41
任务就是画一个100*100的白色正方形。之前只用过C下的initgraph,现在用VS2010,查了半天没发现可以参考的图形界面初始化的方法,所以这个问题是亟待解决的……OpenGL不能调用,要求就是用基本函数手工实现。
还有一个问题就是SetPixel,函数原型 COLORREF SetPixel(HDC hdc, int X, int Y, COLORREF crColor)。我其实不知道这个HDC句柄到底是什么东西……那么我在这里用个NULL行不?
编译是可以通过的。


#include <Windows.h> //不记得这个需不需要了
#include <WinGDI.h>
void main()
{
int i, j;
//在这里初始化
for(i = 0; i < 100; i++)
for(j = 0; j < 100; j++)
SetPixel(NULL, i, j, RGB(255,255,255));
}
...全文
1060 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
终期于尽 2013-05-22
  • 打赏
  • 举报
回复
把这句注释了,就正确了 谢谢分享 extern "C" WINBASEAPI HWND WINAPI GetConsoleWindow ();
赵4老师 2012-02-13
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 hengdu2012 的回复:]
#include<stdio.h>
#include<stdlib.h>
#include<tchar.h>
#include<windows.h>

extern "C" WINBASEAPI HWND WINAPI GetConsoleWindow ();

int main(int argc,char *argv[])
{
HWND hwnd;
H……
[/Quote]
学习了。
楚男人dh哦 2012-02-13
  • 打赏
  • 举报
回复
#include<stdio.h>
#include<stdlib.h>
#include<tchar.h>
#include<windows.h>

extern "C" WINBASEAPI HWND WINAPI GetConsoleWindow ();

int main(int argc,char *argv[])
{
HWND hwnd;
HDC hdc;
hwnd = GetConsoleWindow();
hdc = GetDC(hwnd);
system("color 3d");
MoveToEx(hdc,20,20,NULL);
LineTo(hdc,200,300);
ReleaseDC(hwnd,hdc);
getchar();
return 0;
}
图形是蓝色的cmd 里面一条直线
GetConsoleWindow函数是获得系统控制台窗口的句柄
有句柄就有dc
  • 打赏
  • 举报
回复
你得先创建一个窗口。

64,649

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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