对图形API不熟悉,搞个笔记

来源:互联网 发布:玉米数据库 编辑:程序博客网 时间:2024/05/23 12:57

设置SS_BITMAP风格并放入图片

LONG nStyle =GetWindowLong(GetDlgItem(hWnd, IDC_BMP), GWL_STYLE);

SetWindowLong(GetDlgItem(hWnd, IDC_BMP),GWL_STYLE, nStyle|SS_BITMAP);

SendDlgItemMessage(hWnd, IDC_BMP,STM_SETIMAGE, IMAGE_BITMAP, (LONG)g_hBitmap1);


加入一行单行列表

SendDlgItemMessage(hWnd, IDC_LIST,LB_ADDSTRING, NULL, (LONG)szText);


设置顶层显示(取消)

SetWindowPos(hWnd, HWND_TOPMOST,0, 0, 0, 0, SWP_NOMOVE|SWP_NOSIZE|SWP_NOREDRAW);SetWindowPos(hWnd, HWND_NOTOPMOST,0, 0, 0, 0, SWP_NOMOVE|SWP_NOSIZE|SWP_NOREDRAW);

选择框

IsDlgButtonChecked(hWnd, IDC_CHECK1);

CheckDlgButton(hWnd, IDC_CHECK0,BST_CHECKED);

 

设置静态文本框的背景色

SetBkColor(hWnd, RGB(0, 0, 0));

 

设置多列表

LVCOLUMN column; // 初始化 这个结构,然后发消息到列表窗口

SendMessage(hWndList, LVM_INSERTCOLUMN, 0/*这里是列序号*/,(LPARAM)&column);

 

状态栏

HWND hWndStatus =CreateStatusWindow(WS_CHILD|WS_VISIBLE|SBS_SIZEGRIP, NULL, hWnd, IDC_STATUS);// 创建状态栏

SendMessage(hWndStatus, SB_SETBKCOLOR, 0,RGB(0, 0, 0)); // 设置状态栏颜色

int ListSize[]={152, -1}; // 第一栏长152,第二栏剩余的长度

SendMessage(hWndStatus, SB_SETPARTS, 2,(LONG)ListSize); // 状态栏分栏

SendMessage(hWndStatus, SB_SETTEXT, 0/*第几栏*/,(LPARAM"准备就绪");

 

通用对话框

GetOpenFileName // 打开文件

SHGetPathFromIDList(SHBrowseForFolder(LPBROWSEINFO), szFileName); // 打开目录

 

监控目录文件变化

FindFirstChangeNotification

FindNextChangeNotification

 

磁盘操作

SHFormatDrive

可以调用 fmifs.dll 中的 FormatEx 函数,定义:

VOID STDCALLFormatEx(PWCHAR       DriveRoot,DWORD       MediaFlag,PWCHARFormat,PWCHAR       Label,BOOL       QuickFormat,DWORD       ClusterSize,PFMIFSCALLBACK    Callback );

 

目录相关

CreateDirectory

RemoveDirectory

 

界面美化方案

SkinMagic Toolkit 2.21 Trial

 

图片操作

CreateCompatible // 创建一个与指定DC兼容的内存DC

BITMAPFILEHEADER 系统定义的bmp文件头,根据这个结构计算位图的起始位置

BITMAPFILEHEADER->bfOffBits +BitMapBaseAddress; // 这个偏移传入SetDIBitsToDevice

CreateCompatibleBitmap // 设置DC所表示的图片大小

SelectObject // 选择内存兼容DC

SetDIBitsToDevice // 复制bmp图片的二进制数据到设备中显示

InvalidateRect(hWnd, NULL, TRUE); // 刷新?

DelectObject.

// DC间复制图像

BitBlt

原创粉丝点击