Simple Grid 介绍
Simple Grid 是一个基于消息的表格控件,是一个纯使用 Windows API (C语言)实现 UI 控件。
示例代码:
void LoadGrid4(HWND hGrid) { // // Create image list // INT iImages[] = { IDR_BMP_OFF, IDR_BMP_ON}; HIMAGELIST hImageList = ImageList_Create(32, 32, ILC_COLOR32, NELEMS(iImages), 1); for(int i = 0; i < NELEMS(iImages); ++i){ HBITMAP hbmp = (HBITMAP)LoadImage(ghInstance, MAKEINTRESOURCE(iImages[i]), IMAGE_BITMAP, 32, 32, LR_CREATEDIBSECTION | LR_DEFAULTSIZE); ImageList_Add(hImageList, hbmp, NULL); } // Set Row height to accommodate the graphics SimpleGrid_SetRowHeight(hGrid,34); // // Create Columns // // Column type // Column header text // Optional data (ex: comboBox choices) SGCOLUMN lpColumns[] = { GCT_COMBO, _T("Combo Column"), _T("Ford\0Chevy\0Zaparozhets\0Volkswagen\0Toyota\0Honda\0Citroen\0Fiat\0Volvo\0"), GCT_BUTTON, _T("Button Column"), NULL, GCT_IMAGE, _T("Image Column"), hImageList, GCT_LINK, _T("Link Column"), NULL }; // Add the columns for(int k = NELEMS(lpColumns), m = 0; 0 < k; --k, ++m) { SimpleGrid_AddColumn(hGrid, &lpColumns[m]); SimpleGrid_SetColWidth(hGrid, m, 100); } // // Add some rows // for(int i = 0; i < 2; ++i) SimpleGrid_AddRow(hGrid, _T("")); //Don't care about row header text // // Set cells to data // // Column number // Row number // Item (cell) value sgiTEM lpItems[] = { // Combo column 0, 0, (LParaM)_T("Zaparozhets"), 0, 1, (LParaM)_T("Citroen"), // Button column 1, 0, (LParaM)_T("#1 On"), 1, 1, (LParaM)_T("#2 On"), // Image column 2, 0, (LParaM) 0, 2, 1, (LParaM) 0, // Link column 3, 0, (LParaM)_T("The Code Project\0http:\\\\www.codeproject.com\0"), 3, 1, (LParaM)_T("The Daily WTF: CurIoUs Perversions in " "@R_277_4045@ion Technology\0http:\\\\www.thedailywtf.com\0"), }; for(int i = 0; i < NELEMS(lpItems); ++i) { SimpleGrid_SetItemData(hGrid, &lpItems[i]); } }
Simple Grid 官网
http://www.codeproject.com/Articles/681771/Simple-Grid-A-Win32-message-based-grid-control
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。