当前位置: 首页 > news >正文

新建网站费用做er图的网站

新建网站费用,做er图的网站,百度站长平台注册,网店装修是什么意思ListView自绘OwnerDraw 1.ListView自绘OwnerDraw 正在试错是否使用了列表视图,尽量制作出智能的表格编辑器。本页显示了业主抽签的表格数据(二维数组数据)的显示方法。 显示画面和整个程序如下所示。使用ListView_GetSubItemRect宏的话,就不需要getRect函数了。 当nCol的…

ListView自绘OwnerDraw

1.ListView自绘OwnerDraw

正在试错是否使用了列表视图,尽量制作出智能的表格编辑器。本页显示了业主抽签的表格数据(二维数组数据)的显示方法。

显示画面和整个程序如下所示。使用ListView_GetSubItemRect宏的话,就不需要getRect函数了。

当nCol的值为0时得到的区域不是第一列,而是全列即整个行的区域。因为下面的程序是左对齐显示的,所以没有问题,但是要把显示放在中间或改变第1列的背景颜色的话,需要第1列的区域。为此,第1列的右端需要从第2列的左端进行修正。

Listview51.c

//ListView#include <windows.h>
#include <commctrl.h>
#pragma  comment(lib, "comctl32.lib")#define  NROW   12
#define  NCOL   4
char  *colname[NCOL] = { "No.", "Name", "Attr", "Age" };
char  *table[NROW][NCOL] = { {"01","张三","老大", "15"}, {"02","李四","老二","11"}, {"03","王五","老三","9"}, {"04","张三","老大", "15"}, {"05","李四","老二","11"}, {"06","王五","老三","9"}, {"07","张三","老大", "15"}, {"08","李四","老二","11"}, {"09","王五","老三","9"}, {"10","张三","老大", "15"}, {"11","李四","老二","11"}, {"12","王五","老三","9"}, 
};HWND   hList;//  ListView_GetSubItemRect(hwnd, nRow, nCol, LVIR_BOUNDS, pRect);
BOOL getRect(HWND hwnd, int nRow, int nCol, RECT *pRect) {pRect->left = LVIR_BOUNDS;pRect->top = nCol;return (BOOL)SendMessage(hwnd, LVM_GETSUBITEMRECT, (WPARAM)nRow, (LPARAM)pRect);
}// ListView的所有者抽签。行单位。
int onDrawItem(HWND hwnd, WPARAM wp, LPARAM lp) {DRAWITEMSTRUCT *pds = (DRAWITEMSTRUCT *)lp;if (pds->hwndItem == hList) {int  nCol, nRow = pds->itemID;HDC  hdc = pds->hDC;for (nCol = 0; nCol < NCOL; nCol++) {RECT rc;getRect(hList, nRow, nCol, &rc);rc.left += 4;DrawText(hdc, table[nRow][nCol], -1, &rc, DT_VCENTER|DT_SINGLELINE|DT_LEFT);}}return TRUE;
}void onCreate(HWND hWnd) {int iCol, iRow;hList = CreateWindowEx(0, WC_LISTVIEW, NULL, WS_CHILD|WS_VISIBLE|LVS_REPORT|LVS_OWNERDRAWFIXED,0, 0, 1, 1, hWnd, (HMENU)777, NULL, NULL);SendMessage(hList, LVM_SETEXTENDEDLISTVIEWSTYLE, 0, LVS_EX_GRIDLINES);for (iCol = 0; iCol < NCOL; iCol++) {LVCOLUMN col = { LVCF_FMT|LVCF_TEXT|LVCF_WIDTH|LVCF_SUBITEM, 0, 70, colname[iCol], 0, iCol };SendMessage(hList, LVM_INSERTCOLUMN, iCol, (LPARAM)&col);}for (iRow = 0; iRow < NROW; iRow++) {LVITEM item = { LVIF_TEXT, iRow };SendMessage(hList, LVM_INSERTITEM, 0, (LPARAM)&item);}
}LRESULT CALLBACK WindowProc(HWND hwnd, UINT umsg, WPARAM wp, LPARAM lp) {switch (umsg) {case WM_CREATE: onCreate(hwnd); return 0;case WM_DRAWITEM: return onDrawItem(hwnd, wp, lp);case WM_SIZE: MoveWindow(hList, 0, 0, lp&0xffff, lp>>16, TRUE); return 0;case WM_DESTROY: PostQuitMessage(0); return 0;}return DefWindowProc(hwnd, umsg, wp, lp);
}int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevInst, LPSTR lpCmdLine, int nCmdShow) {MSG msg;WNDCLASS wc = { 0, WindowProc, 0, 0, hInst, NULL, LoadCursor(NULL,IDC_ARROW), NULL, NULL, "mh" };if (!RegisterClass(&wc)) return FALSE;InitCommonControls();if (!CreateWindowEx(0, "mh", "ListView", WS_OVERLAPPEDWINDOW|WS_VISIBLE,100, 100, 250, 200, NULL, NULL, hInst, NULL)) return FALSE;while (GetMessage(&msg,NULL,0,0) > 0) {TranslateMessage(&msg);DispatchMessage(&msg);}return msg.wParam;
}

http://www.yayakq.cn/news/747482/

相关文章:

  • 企业备案网站可以做论坛吗网站建设申请理由
  • 酒店网站设计方案手机网站开发方案
  • 百度网盘网站开发文档模板html模板框架
  • 做网站公司什么条件做的最好的微电影网站
  • 网站建设维护公司资质seo是什么
  • 云速建站与传统网站的区别海口云建站模板
  • 岳阳网站建设制作网站平台
  • 网站推广软文选天天软文蜘蛛云建网站怎样
  • 舞钢市城市建设局网站怎么自己的电脑做网站
  • 网站设计确认wordpress营销插件
  • 网站是否wordpress深圳设计大学
  • 如何自主建设企业网站甘肃城乡建设局网站
  • dede图片网站模板营销的目的有哪些
  • 菏泽网站建设电话咨询网站建设最新时讯
  • 怎么做网站的跳转个人不动产证查询官网
  • 用dw做购票网站巴中移动网站建设
  • 网站专项审批查询做网站推广被骗
  • 大连网站开发建微信小说网站开发
  • 机械网站推广怎么做谷歌收录查询
  • 网站建设的需求文档做暖暖在线获取网站
  • 网站打开速度加快怎么做wordpress网站维护
  • 如何做全景网站wordpress贵金属插件
  • 课题组研究网站怎么做网站网站制作
  • 将门户网站建设wordpress 登入不进去
  • 阿里云个人不能开网站网站群建设进度
  • 网站租用空间唐山做网站建设公司
  • 互动科技 网站上海建设银行黄浦区营业网站
  • 好商网的网站可以做中英文切换吗免费个人服务器
  • 如何解析网站电脑培训班电脑培训学校
  • 网站建设栏目图片做购物网站能不能赚钱