|
本帖最后由 花舞灬花丶落泪 于 2016-2-18 22:36 编辑
这么卡哇伊的菜单.....(额 别介意!) 你难道不想要吗?来一个很"特别"的菜单,让你的程序"魅力释放"!!!!
纯粹就是闲的没事干, 使用的是大色教程中的XCGUI.1.9.3版,
不过,童鞋们拿到XCGUI.PAS之后, 一定要自己修改一遍, 可能是大色没注意到,
pas中,把传址参数前面都加上 VAR....
======================================================================
代码:- Function OnMenuDraw_Item(hEle:Integer;hDraw:Integer; VAR pItem:XCGUI.menu_drawItem_i): Integer; STDCALL;
- Var
- hPen1:Integer;
- reItem:TRect;
- TFont:Integer;
- Begin
- reItem.Right := pItem.rcItem.cx;
- reItem.LEFT := pItem.rcItem.x;
- reItem.TOP := pItem.rcItem.y;
- reItem.BOTTOM := pItem.rcItem.cy;
- if pItem.nState = 8 then //绘制分隔符
- Begin
- hPen1 := CreatePen (XDraw_GetHDC (hDraw), 1, 5426227);
- SelectObject (XDraw_GetHDC (hDraw), hPen1);
- MoveToEx (XDraw_GetHDC (hDraw), 35, pItem.rcItem.y + 1, 0);
- LineTo (XDraw_GetHDC (hDraw), pItem.rcItem.cx - 1, pItem.rcItem.y + 1);
- End;
- if (pItem.nState and menu_item_flags_select) = 1 then
- Begin
- // Windows.OutputDebugString(PWideChar(IntToStr(pItem.nState and menu_item_flags_select)));
- XDraw_GradientFill2 (hDraw, 15066597, 250, 15066597, 200, pItem.rcItem, GRADIENT_FILL_RECT_V);
- //windows.FillRect(XCGUI.XDraw_GetHDC(hDraw),reItem,15066597);
- End;
- if (pItem.nState and menu_item_flags_popup) = 4 then
- Begin
- //
- reItem.Left := reItem.Left + 35;
- reItem.Top := reItem.Top + 3;
- TFont := CreateFontW (17, 0, 0, 0, 400, 0, 0, 0, 1, 0, 0, 2,0,'微软雅黑');
- SelectObject (XDraw_GetHDC (hDraw), TFont);
- SetTextColor (XDraw_GetHDC (hDraw), 5775073);
- DrawTextW(XDraw_GetHDC (hDraw), pItem.Text, strlen(pItem.Text),reItem, 0);
- reItem.Left := reItem.Right - 20;
- reItem.Top := reItem.top - 6;
- TFont := CreateFontW (25, 5, 0, 0, 400, 0, 0, 0, 1, 0, 0, 2,0,'微软雅黑');
- SelectObject (XDraw_GetHDC (hDraw), TFont);
- SetTextColor (XDraw_GetHDC (hDraw), 5775073);
- DrawTextW(XDraw_GetHDC (hDraw), '>', strlen('>'),reItem, 0);
- End;
- OutputDebugString(pItem.Text);
- reItem.Left := reItem.Left + 35;
- reItem.Top := reItem.Top + 3;
- TFont := CreateFontW (17, 0, 0, 0, 400, 0, 0, 0, 1, 0, 0, 2,0,'微软雅黑');
- SelectObject (XDraw_GetHDC (hDraw), TFont);
- SetTextColor (XDraw_GetHDC (hDraw), 5775073);
- DrawTextW(XDraw_GetHDC (hDraw), pItem.Text, strlen(pItem.Text),reItem, 0);
- Result:=0;
- End;
复制代码
|
评分
-
查看全部评分
|