|
本帖最后由 花舞灬花丶落泪 于 2015-7-25 10:47 编辑
炫彩版本: 1.6.3 炫彩语言: Delphi XE5
环 境: Windows 8 32bit 专业版
新手看的话需要注意几点:
1.闲的没事写的 写法不推荐
2.没有使用头文件,都是用一条写一条,麻烦,不推荐
一千多条接口函数 实在是懒得封装,也木有炫彩的函数转换工具
代码写的很乱 凑活着看吧. 反正我觉得不是很难看懂.
贴张图 镇楼
该源码 展示了 窗口的创建,按钮的创建以及单击事件,
其实看官方手册一看就会...
额 不知道为毛 老是上传失败 我就直接贴代码了
- program Project1;
- uses
- Windows;
- {$R *.res}
- const
- CodeDll='xcgui.dll';
- Var
- EleBtn_Close : Integer;
- EleBtn_Minimi : Integer;
- EleBtn_SetUp : Integer;
- EleBtn_Msg : Integer;
- hWindow : Integer;
- ThreadID : Cardinal;
- ThreadHwnd : Cardinal;
- EleBtn_Font : Integer;
- FontHwnd : Integer;
- EditEle : Integer;
- Function XInitXCGUI(flag:PWideChar):Bool; stdcall;external CodeDll;
- Function XWnd_CreateWindow(
- x,y,cx,cy:Integer;
- Title:PWideChar;
- Parent:Integer;
- Style:Integer):Integer; stdcall;external CodeDll;
- Function XWnd_ShowWindow(hWindow:Integer;const flag : Integer = 5):Bool; stdcall;external CodeDll;
- Function XRunXCGUI():Bool; stdcall;external CodeDll;//XExitXCGUI
- Function XExitXCGUI():Bool; stdcall;external CodeDll;//XExitXCGUI
- Function XWnd_CloseWindow(hWindow:Integer):Integer; stdcall;external CodeDll;
- Function XWnd_EnableDragWindow(hWindow:Integer;ShowEanble:Bool):Bool; stdcall;external CodeDll;
- Function XWnd_EnableDragBorder(hWindow:Integer;Eanble:Bool):Bool; stdcall;external CodeDll;
- Function XBtn_Create(
- x,y,cx,cy:Integer;
- title:PWideChar;
- Parnet:Integer):Integer; stdcall;external CodeDll;
- Function XEle_RegisterEvent(hEle:Integer;EleType:Integer;pFun:Pointer):Integer; stdcall;external CodeDll;
- Function XBtn_SetImageLeave(hEle:Integer;Image:Integer):Integer; stdcall;external CodeDll;//离开
- Function XBtn_SetImageStay(hEle:Integer;Image:Integer):Integer; stdcall;external CodeDll;//点燃
- Function XBtn_SetImageDown(hEle:Integer;Image:Integer):Integer; stdcall;external CodeDll;//按下
- Function XImage_LoadFile(hEle:PWideChar;Image:Bool):Integer; stdcall;external CodeDll;
- Function XEle_SetBkTransparent(hEle:Integer;Eanble:Bool):Integer; stdcall;external CodeDll;//透明
- Function XEle_EnableFocus(hEle:Integer;Eanble:Bool):Integer; stdcall;external CodeDll;// 焦点
- Function XWnd_EnableRound(hEle:Integer;Eanble:Bool;Redraw:Bool):Integer;stdcall;external CodeDll; //圆角
- Function XWnd_SetRoundSize(hEle,Size:Integer):Integer;stdcall;External CodeDll; //圆角大小
- Function XEle_Create(x,y,cx,cy,Parent:Integer):Integer;stdcall;External CodeDll; //创建基础元素
- Function XPic_Create(x,y,cx,cy,Parent:Integer):Integer;stdcall;External CodeDll; //创建图片框元素
- Function XEle_EnableMouseThrough(hWindow:Integer;Eanble:Bool):Integer;stdcall;External CodeDll; //鼠标穿透
- Function XEle_EnableBorder(hWindow:Integer;Eanble:Bool):Integer;stdcall;External CodeDll; //元素边框
- Function XPic_SetImage(hEle,PicHwnd:Integer):Integer;stdcall;External CodeDll; //ImageBox Image
- Function XEle_SetBkColor(hWindow,Color:Integer):Integer;stdcall;External CodeDll; //XCEle BackColor
- Function XWnd_SetBkColor(hWindow,Color:Integer):Integer;stdcall;External CodeDll; //Windows BackColor
- Function XFont_Create2(pName:PWideChar;FontSize:Integer;
- bBold:Bool;
- bItalic:Bool;
- bUnderline:Bool;
- bStrikeOut:Bool):Integer;stdcall;External CodeDll; //创建炫彩字体
- Function XEdit_Create(x,y,cx,cy,Parent:Integer):Integer;stdcall;External CodeDll; //创建EditBox
- Function XEdit_GetText(hEle:Integer;pText:PWideChar):Integer;stdcall;External CodeDll; //设置编辑框内容
- Function XEle_SetFont(hEle:Integer;FontHwnd:Integer):Integer;stdcall;External CodeDll; //设置元素字体
- Function XEdit_SetReadOnly(hEle:Integer;Eanble:Bool):Integer;stdcall;External CodeDll; //编辑框只读
- Function XEle_RedrawEle(hEle:Integer;Eanble:Bool):Integer;stdcall;External CodeDll; //刷新元素
- Function XEdit_SetText(hEle:Integer;pText:PWideChar):Integer;stdcall;External CodeDll; //编辑框内容
- Function XEdit_EnableMultiLine(hEle:Integer;Eanble:Bool):Integer;stdcall;External CodeDll; //Edit多行输入
- Function XMessageBox(hWindow:Integer;
- pText:PWideCHar;
- pCaption:PWideChar;
- pType:Integer):Integer;stdcall;External CodeDll; //圆角大小
- function L(s:string):PWideChar;
- begin
- Result:= PWideChar(s);
- end;
- Function MeThread():Bool;
- Begin
- RemoveFontResourceA ('Res\font.ttf');
- XWnd_CloseWindow(hWindow);
- XExitXCGUI();
- CloseHandle(ThreadHwnd);
- Result:=True;
- End;
- Function My_ClickEvent(hEle:Integer;hEventEle:Integer;pBool:Bool):Bool;
- Begin
- if hEventEle = EleBtn_Close then
- ThreadHwnd := CreateThread(nil,512,@MeThread,nil,0,ThreadID);
- Result:=true;
- if hEventEle = EleBtn_Minimi then
- XWnd_ShowWindow(hWindow,2);
- if hEventEle = EleBtn_Msg then
- XMessageBox(hWindow,'谁让你点击这个按钮的?'+#13+'是哪个天煞的给你的胆子?'+#13+'看频道今天不收了你',
- '大胆狂徒',1);
- if hEventEle = EleBtn_SetUp then
- XMessageBox(hWindow,'贫道这几日正忙于渡劫'+#13+'等贫道渡过这九九天劫再作打算',
- '咔嚓嚓',1);
- if hEventEle = EleBtn_Font then
- AddFontResourceA('Res\font.ttf');
- FontHwnd := XFont_Create2('水果冰淇淋手机字体',18,false,false,false,false);
- XEle_SetFont(EditEle,FontHwnd);
- XEle_RedrawEle(EditEle,True);
- end;
- procedure Main();
- Var
- PicHwnd : Integer;
- Back_PC : Integer;
- Shit : integer;
- Begin
- XInitXCGUI('');
- hWindow:=XWnd_CreateWindow(50,50,500,500,'你好啊',0,1 + 2 + 4 + 8 + 16 + 32 + 64);
- XWnd_EnableDragWindow(hWindow,true);
- XWnd_EnableDragBorder(hWindow,false);
- Back_PC := XEle_Create(0,0,500,33,hWindow);
- XEle_SetBkColor(Back_PC,15111760);
- XWnd_SetBkColor(hWindow,16777215);
- XEle_EnableMouseThrough(Back_PC,TRUE);
- XEle_EnableBorder(Back_PC,FALSE);
- Shit := XPic_Create(0,35,500,150,hWindow);
- XPic_SetImage(Shit,XImage_LoadFile('Res\back.jpg',True));
- XEle_EnableBorder(Shit,FALSE);
- EditEle := XEdit_Create(10,200,480,265,hWindow);
- XEle_EnableBorder(EditEle,FALSE);
- XEdit_EnableMultiLine(EditEle,TRUE);
- XEdit_SetReadOnly(EditEle,TRUE);
- XEdit_SetText(EditEle,'由于贫道今日需赶往齐鲁渡九九天劫,故只能写到这里 ');
- EleBtn_Font := XBtn_Create(430,468,60,25,'换字体',hWindow);
- XEle_RegisterEvent(EleBtn_Font,0,@My_ClickEvent);//注册单击事件
- EleBtn_Close := XBtn_Create(470,0,28,30,'',hWindow);
- PicHwnd := XImage_LoadFile('Res\close_nor.png',false);
- XBtn_SetImageLeave(EleBtn_Close,PicHwnd);//正常状态
- PicHwnd := XImage_LoadFile('Res\close_over.png',false);
- XBtn_SetImageStay(EleBtn_Close,PicHwnd); //点燃状态
- PicHwnd := XImage_LoadFile('Res\close_down.png',false);
- XBtn_SetImageDown(EleBtn_Close,PicHwnd); //按下状态
- XEle_SetBkTransparent(EleBtn_Close,true);//控件背景透明
- XEle_EnableFocus(EleBtn_Close,false); // 控件不许获得焦点
- XEle_RegisterEvent(EleBtn_Close,0,@My_ClickEvent);//注册单击事件
- XWnd_EnableRound(hWindow,true,true);
- XWnd_SetRoundSize(hWindow,2);
- XWnd_ShowWindow(hWindow,5);
- XRunXCGUI();
- End;
- begin
- Main();
- end.
复制代码
由于文件无法飞升到服务器界,故而 贫道只能贴上代码秘籍了。尔等只需修改几处资源位置 然后 ↓↓↓↓↓
直接 Ctrl + C 然后 Crtl + V 然后 Shift + Ctrl + F9
|
|