炫彩界面库论坛

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 4831|回复: 4

[已解决] GDI自绘的问题

[复制链接]

该用户从未签到

发表于 2016-12-6 11:18:40 | 显示全部楼层 |阅读模式
BUG提交
炫彩版本号: 1.9.8
操作系统: win10
开发环境: Delphi
编程语言: Delphi
问题分类: 其他 
简短描述: GDI自绘,然后设置按钮为透明,按钮背景异常。
使用GDI自绘,然后增加按钮,设置png透明按钮图片,当鼠标移到按钮上再移开,按钮背景不透明!使用炫彩封装的函数自绘好像没此问题。
正常状态:
1.png
鼠标移上去在移开后的效果,按钮出现背景异常。。。
2.png

代码:
program WinMain;

{$APPTYPE GUI}

uses
  Windows,
  XCGUI in 'XCGUI.pas';

var
  hWindow,hCloseBtn : Integer ;
  hEle : Integer ;

function OnPaint(hDraw:Integer ; pbHandledBoolean): Integer ;stdcall  ;
var
  pt :TPOINT;
  dc : Integer;
begin
  dc := XDraw_GetHDC(hDraw);
  SetTextColor(dc,255);
  TextOut(dc,0,0,'dasemimi',8);
  pbHandled^ := True;
  Result := 0;
end;

begin
  { TODO -oUser -cConsole Main : Insert code here }
  XInitXCGUI(nil) ; //初始化资源
  hWindow := XWnd_Create(0,0,500,300,'大色秘密',0,15);  //创建窗口
  hEle := XEle_Create(0,0,500,300,hWindow);
  XEle_EnableBkTransparent(hEle,True );
  XEle_RegEventC(hEle,XE_PAINT,Integer(@OnPaint));
  //关闭按钮
  hCloseBtn := XBtn_Create(10, 10, 36, 36, '', hWindow);
  XBtn_SetType(hCloseBtn, button_type_close);
  XBtn_AddBkImage(hCloseBtn, button_state_leave, XImage_LoadFile('.\icon_close_normal.png', False));
  XBtn_AddBkImage(hCloseBtn, button_state_stay, XImage_LoadFile('.\icon_close_hover.png', False));
  XBtn_AddBkImage(hCloseBtn, button_state_down, XImage_LoadFile('.\icon_close_down.png', False));
  XEle_EnableBkTransparent(hCloseBtn, True);
  XWnd_AdjustLayout(hWindow);
  XWnd_ShowWindow(hWindow,5);      //显示窗口
  XRunXCGUI();                     //运行程序
  XExitXCGUI();                    //销毁资源
end.



该用户从未签到

发表于 2016-12-6 11:35:21 | 显示全部楼层
这不是bug,有问题请提交到 http://www.xcgui.com/bbs/forum.php?gid=1 这个里面的 响应版块

解决方案,要么用炫彩的 提供的 XDraw函数,要么 自己建立内存DC 用炫彩提供的XDraw_BitBlt 拷贝到炫彩的内部,让炫彩自己来管理,否则你直接绘制,是绘制在窗口的DC上,会导致各种不必要的麻烦,因为炫彩内部是自己管理 一个内存DC的,它不是直接画到窗口上的

该用户从未签到

 楼主| 发表于 2016-12-6 17:17:30 | 显示全部楼层
本帖最后由 小王子 于 2016-12-6 18:17 编辑
dasemimi 发表于 2016-12-6 11:35
这不是bug,有问题请提交到 http://www.xcgui.com/bbs/forum.php?gid=1 这个里面的 响应版块

解决方案,要 ...

谢谢!但画png是黑色背景。。。
2016-12-06_181608.jpg

该用户从未签到

发表于 2016-12-7 01:23:58 | 显示全部楼层
小王子 发表于 2016-12-6 17:17
谢谢!但画png是黑色背景。。。

如果只是简单的画一下 这个图片,那么炫彩提供的默认XDRaw_Image 是完全够用了。完全能满足你的需求了,你就用默认的来搞吧,不要用第三方的,不然会很蛋疼
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

QQ|Archiver|手机版|小黑屋|炫彩界面库 ( 鄂ICP备2023014763号-1 )

GMT+8, 2024-9-20 00:27 , Processed in 0.080057 second(s), 23 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表