首页
社区
课程
招聘
[旧帖] 请问:以下GetStockObject这个API函数的参数实现的效果有什么不同?能具个例子吗? 0.00雪花
发表于: 2010-11-25 19:23 4759

[旧帖] 请问:以下GetStockObject这个API函数的参数实现的效果有什么不同?能具个例子吗? 0.00雪花

2010-11-25 19:23
4759
请问:以下GetStockObject这个API函数的参数实现的效果有什么不同?能具个例子吗?
BLACK_BRUSH 黑色刷子 DKGRAY_BRUSH 黑灰色刷子
GRAY_BRUSH 灰色刷子 HOLLOW_BRUSH 凹刷子
LTGRAY_BRUSH 浅灰色刷子 NULL_BRUSH 空刷子
WHITE_BRUSH 白色刷子 BLACK_PEN 黑色画笔
NULL_PEN 空画笔 WHITE_PEN 白色画笔
ANSI_FIXED_FONT 采用windows(ANSI)字符集的等宽字体 ANSI_VAR_FONT 采用windows(ANSI)字符集的不等宽字体
DEVICE_DEFAULT_FONT 设备使用的默认字体(NT) DEFAULT_GUI_FONT 用户界面的默认字体,包括菜单和对话框字体(Windows 95)
OEM_FIXED_FONT OEM字符集的固有字体 SYSTEM_FONT 屏幕系统字体。这是用于菜单、对话框等等的默认不等宽字体
SYSTEM_FIXED_FONT 屏幕系统字体。这是用于菜单、对话框等等的默认等宽字体(在windows 3.0之前使用) DEFAULT_PALETTE 默认调色板

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 26
活跃值: (25)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
2
我顶我顶我顶我顶
2010-11-27 20:44
0
雪    币: 16
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
GetStockObject函数的功能就是获得一个系统库存的画笔或者画刷或者模版的一个句柄。

一般用来绘图的。

要看什么效果,我给你一段代码,你自己替换测试吧:
#include <Windows.h>
HINSTANCE hinst;
HWND hwndMain;
LRESULT CALLBACK WndProc(HWND hWnd,  UINT Msg, WPARAM wParam,  LPARAM lParam)
{
        switch(Msg)
        {
        case WM_CLOSE:

                // Perform cleanup tasks.

                PostQuitMessage(WM_QUIT);
                return 0;
        default:
                return  DefWindowProc(hWnd,Msg,wParam,lParam);

        }
        return 0;
         
}

int PASCAL WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
    LPSTR lpszCmdLine, int nCmdShow)
{
    MSG msg;
    BOOL bRet;
    WNDCLASS wc;
    UNREFERENCED_PARAMETER(lpszCmdLine);

    // Register the window class for the main window.

    if (!hPrevInstance)
    {
        wc.style = 0;
        wc.lpfnWndProc = (WNDPROC) WndProc;
        wc.cbClsExtra = 0;
        wc.cbWndExtra = 0;
        wc.hInstance = hInstance;
        wc.hIcon = LoadIcon((HINSTANCE) NULL,
            IDI_APPLICATION);
        wc.hCursor = LoadCursor((HINSTANCE) NULL,
            IDC_ARROW);
        wc.hbrBackground =(HBRUSH) GetStockObject(WHITE_BRUSH); //这里换成你想测试的效果,看看窗口背景会有什么变化!
                wc.lpszMenuName =TEXT("MainMenu");
        wc.lpszClassName =TEXT("MainWndClass");

        if (!RegisterClass(&wc))
            return FALSE;
    }

    hinst = hInstance;  // save instance handle

    // Create the main window.

    hwndMain = CreateWindow(TEXT("MainWndClass"),TEXT( "Sample"),
        WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT,
        CW_USEDEFAULT, CW_USEDEFAULT, (HWND) NULL,
        (HMENU) NULL, hinst, (LPVOID) NULL);

    // If the main window cannot be created, terminate
    // the application.

    if (!hwndMain)
        return FALSE;

    // Show the window and paint its contents.

    ShowWindow(hwndMain, nCmdShow);
    UpdateWindow(hwndMain);

    // Start the message loop.

    while( (bRet = GetMessage( &msg, NULL, 0, 0 )) != 0)
    {
        if (bRet == -1)
        {
            // handle the error and possibly exit
        }
        else
        {
            TranslateMessage(&msg);
            DispatchMessage(&msg);
        }
    }

    // Return the exit code to the system.

    return msg.wParam;
}
2010-12-1 00:49
0
游客
登录 | 注册 方可回帖
返回
//