From 4a0ba37aac117c2f8b5592cd81f64a53e63add8b Mon Sep 17 00:00:00 2001 From: smallwhite Date: Thu, 12 Sep 2019 15:39:00 +0800 Subject: [PATCH] update README. Add simple example. --- .gitignore | 5 +- README.md | 51 ++++++- .../simple/emptyProject/Debug/Resource.res | Bin 0 -> 47504 bytes examples/simple/emptyProject/Resource.aps | Bin 0 -> 50276 bytes examples/simple/emptyProject/Resource.rc | Bin 0 -> 7332 bytes examples/simple/emptyProject/emptyProject.sln | 31 ++++ .../simple/emptyProject/emptyProject.vcxproj | 132 ++++++++++++++++++ .../emptyProject/emptyProject.vcxproj.filters | 35 +++++ .../emptyProject/emptyProject.vcxproj.user | 4 + examples/simple/emptyProject/icon1.ico | Bin 0 -> 45451 bytes examples/simple/emptyProject/manifest.xml | 17 +++ examples/simple/emptyProject/resource.h | 21 +++ examples/simple/generate_res.bat | 2 + examples/simple/main.go | 18 +++ examples/simple/vsui.syso | Bin 0 -> 48102 bytes 15 files changed, 314 insertions(+), 2 deletions(-) create mode 100644 examples/simple/emptyProject/Debug/Resource.res create mode 100644 examples/simple/emptyProject/Resource.aps create mode 100644 examples/simple/emptyProject/Resource.rc create mode 100644 examples/simple/emptyProject/emptyProject.sln create mode 100644 examples/simple/emptyProject/emptyProject.vcxproj create mode 100644 examples/simple/emptyProject/emptyProject.vcxproj.filters create mode 100644 examples/simple/emptyProject/emptyProject.vcxproj.user create mode 100644 examples/simple/emptyProject/icon1.ico create mode 100644 examples/simple/emptyProject/manifest.xml create mode 100644 examples/simple/emptyProject/resource.h create mode 100644 examples/simple/generate_res.bat create mode 100644 examples/simple/main.go create mode 100644 examples/simple/vsui.syso diff --git a/.gitignore b/.gitignore index 09b4952..91634ad 100644 --- a/.gitignore +++ b/.gitignore @@ -3,4 +3,7 @@ *.rar *.zip *.7z -*.dll \ No newline at end of file +*.dll +/examples/simple/emptyProject/Debug/emptyProject.tlog/ +*.log +/examples/simple/emptyProject/.vs/ diff --git a/README.md b/README.md index ff43928..421efbe 100644 --- a/README.md +++ b/README.md @@ -11,6 +11,8 @@ Lightweight, high performance and small executable file size Windows GUI library > Visual Studio Resource Editor +> Other dialog box editor + @@ -27,10 +29,57 @@ TDM-GCC http://tdm-gcc.tdragon.net/ +#### windres.exe + +This tool in `TDM-GCC-64/bin/windres.exe`,don't know where in MinGW. + # Usage -TODO +### Simple usage: + +Generate x.syso file from rc or res file use `windres.exe` tool. + +genereate syso: +`windres -i emptyProject/Debug/resource.res -O coff -o vsui.syso` + +or + +`windres -i ui/ui.rc -O coff -o ui.syso` + +main.go +```go +package main + +import "github.com/whtiehack/wingui" + +func main() { + dlg, _ := wingui.NewDialog(101, 0, nil) + dlg.SetIcon(105) + btnok, _ := wingui.BindNewButton(1002, dlg) + btncancel, _ := wingui.BindNewButton(1003, dlg) + btnok.OnClicked = func() { + dlg.Close() + } + btncancel.OnClicked = btnok.OnClicked + dlg.Show() + // This invoke is optional. + wingui.SetCurrentDialog(dlg.Handle()) + wingui.MessageLoop() +} + + +``` + + +run: +`go run .` + +Don't use `go run main.go`, because golang can't load x.syso files. + + + +[More examples](https://github.com/whtiehack/wingui/tree/master/examples) # Examples diff --git a/examples/simple/emptyProject/Debug/Resource.res b/examples/simple/emptyProject/Debug/Resource.res new file mode 100644 index 0000000000000000000000000000000000000000..01353c5c39a4c3b4a99eddee023b4e181ee3db4c GIT binary patch literal 47504 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 literal 0 HcmV?d00001 diff --git a/examples/simple/emptyProject/Resource.aps b/examples/simple/emptyProject/Resource.aps new file mode 100644 index 0000000000000000000000000000000000000000..a179e0d0f9b0904b223e2352cbcfc7758fc9dc27 GIT binary patch literal 50276 zcmeHQ2S60Z*PlHOIHVm`#KM6M8%41r99;x~C>9c=2#7@B2t^?(ci4>ujmECvUyWEX z)~E;dV*}KJM;XorG$;as2l=tSn-+MDVJG(o(AcPPPqC_H% zkgXQXq0}AXC^QjSK`N0DGCG?h%b*=%gzScU1PCJh!y`Oq28IMg2735M`2>ds`GAXk+w2haOp@hr+0q(+~jh zvUDBi8ib6wAAD|yh9eIYfCMN4`J-_7^*}RGAPRxHNJu@PHVXNmU=)gi zNDdF+3alz)I;KUSXyl5*K+d;N<4ej3Bl!g&Ck$%*ks+D}+O0{AQr-ZdVA(um2QsDd zdB^}X4n>1eZ_qxG#Nr2XXM$cHa)fdOs4Z_f!8WKe4dGAke)JeL^onXV8n#3nqg>Gjo*K*p73scP0mn z{dfl(TPFu++i?gDBFC|Vjg6O$gQb&;JwP5XWH1PT@kg&6Usaz(?W`447e zgIO4h677&@9+4z2%69AtvV{t*MU6>fu+$hY>;Yrr0hA608!wrCP&<&S{V>^pcdO48 zrdST0&YWz>gOWB4^sll98sd4idOuyl@(?~2sWB#zXp?g+z@vIc{hHAlb`UK=t;E{EMB7mTFAJ60i?BG#L{> zMi@Cy;}L=b9wm5Il+KI@Fkqe7COq$lLFxnJ>jPTmtZoQgQ4nz$joLt4CnyDwt+2(R zU@P`m0L<|bz*Dmh&+FDOr}JP!F$O%tNLfhAY^$EDIJg{=PI1yKmbLWLnw`tCXyb> ze4XA{X_gfaWq+`)kIjz^vDQ6qBJ`| zgNVS0XkJ8gC?JE0d*A?lUWiXH6vj{p3?~ML_z7l)8(Is3g9Rb|tpy3lkc+jvxQwE!w zn40?fPBrnHs?Q7Zfy)V>0FvE^GQx7 zJA}*td&A&VNRfEF$UsY9?4^>8@gjH&@OGpe!}u$dWAU25J2 zPX0U?q!Nh&L;?@jYGZndtFyg&D;<1lR(BX>GZr7kIC7LA@d!(tic8^R?XA#(tDT=h zfgNBu#uA}l;#A9h6rrpVI?6p9A&s**5*G!Deh9Tngr%Wdl;?|kj?=nib`-yQ5VGJ& zH}4yh`y?Np{8!t~e`K)dvG;cg-J+~i;6Link9X&)FP!S*dUDl7hl8ir4&L7;`8(BX zR(%~V8Q#1#%2OveYf5rR#l6nkHf4`E85cb#PNF$CAY^Hqr&lY|H*5$Ga1IIy>4{7# zx=U1eaIR+CA(5DaxY`6_bwhk_HsUNpC{_#cjB6$KJ6C}WJ$^0BN#@wjm@&gS&-Tc< zU{sos&1Yvl?1N@M3D#%5`0hImzIo~F(ieZ9o*wrU75-K-ujH35Jr%^tIlb;*f3!gr zby^}wPQ5aq9U8nsJ1TyYZ%-7|_Lst#A!lvSZS5(4&q<1Zj}B^`yHMt3bd$)vvdDWx zVq6v~{CRt)Z0nJ3N}?g1Dh^I|OF!qp&*f?*u04qgm3+C!Ry|96KiGSV;Q8Tz^lL9) zhGgB(axP0RxxRN|(rd}wlTJ=fJ03oK81d}J?()$`OWXTIA5bWK{m}8wsB6!jeLH;U z(6prgIoR-r3?dTWpG`e_^rx=ov(uEl2>pb0r&fy&WqP^0JCwY<_uy>O{LUfwPK56Y z*Pft!Rb^TFc$9b6s8iO33wAMzUvr5qZtR3TLtF+QJbn6fvQqG3k$H$6((G!Mdscw7 zGS1r~&*Z38Tg{?>%uMK_m2uV<-MV$_b?bdR*6<@;MTZ1yo>vTe8qh{-TKqdLadGhs z&$+fX36mcw6jqc-E;}Clfpg^IY_!!PC*ASjGR~2+v(fq&kCnBiZGDHt9rQE$T_;xd zMTLtvrn}w>6xK!$^m{3Jo1gh6D=HdrR_<)F)YteZes z!f^vaKYiD(gecG^p)(7;Su8H)AP*kvfgTE-$62-liQDNL>#)$w#o|IB=(ElOVJSz= z4&~}-4TW~IY!b8yKF21(f+aHU&g$E@Z}k4JCv@W@?hj`6KXN+jAx{gv zIzD*!{?(A^-Ch0T;{+9{NzZd~j-5Dh;>eLBYcls7J$yJ^-{{yvEflI&(2ZarHP--k z791OTQOiNv!aNhur5$@5^m^ND1q>pSs3kzS&|T}`3c1J2UCo3?1=-fe50&(ddS4Xi zspFDe!iGcaQxCd2k4Q{>{$FC;&3AOR{pO)&&-J) zl0-=2(9p=&d6$ZAoygg7eOG$K+SnM5Xx!uU)Gg~)Xef$2+2Y+L2a?yV8~gp^(vC{>FRSp4Sh;C`Rb@w& zNV7v&xwNcJK~=3y>U4?i`ZgkKws=WQX5~`jUT6_Vq!2cxAi$y`+Ov~WW$NL>hojY3 zX(8nmr;5Gi4F6z;*b8F+gl10d1 z`>T~Ay;LtYUvCU%pVJME4jkIuJFP&MaCKgIPdKYQGx=8McQXg%mBb;j?N-CjH;R>J1Hslqk0Dkm-oP(H^;Yo@=ctS}oPwqPZ!zk6id z%bc9{Tf5|fRHw6Z%A#k81Z=*EddZ8&cZd`%v@hW;05SGUQ)LSJYm#IZ8S(N;P(Ig{8mQZ?X8J^z~k&YcO$o?!B6jBfOI%xF@to zSL8qZ-BY+uP+0NG<@mL%tgj#Ix*L{Vv3kTVwLxoo&wAli{Qk9i3QVu%qo4KrW4eEe z+qumso+BFYz;kB7{rnESN9cGvi!9ju4c{F&Rgw)A17#JfzDlalJe+AX;OaEdFrt!+ zZ0%0mH~-x;HErm20_0nvHQL2l!VRZmR()lsa9O2r0WvVTTvECBc7BJBGfc&EShMxe z=*}~@oL&JeJ|xRLWDt7ysAPD_dt0UDO6%L?Dif{=Id9+ggo+iN)Qx+Im01b=g12u6 z7r(dtfou|sj_fPTN?iyt?*ECxS+jYl|A^!R2LhA4cFZ&tZ$@Pt{vUoWdm@v(@Wa>k5jJCsOT5~bC?Ib8T2I&)%tULGthZ0TESICs^L_iu7{u>*R}+ccVY*wr z$bS0t3CgePm`+ee#He|MY#Uv@0s&EdDR-gfEIr3g6nCM(^rw%gdj z$n)~_;u9SS&ak$VJUlK>=O4{GmvimfSkJ!pXJ4g;wnKUsr?w_ElwEtAxOOBtd2?pD zYa3CYr3P9nhb(oUYv4Ge`;d^kqvGcjKfdbo^N{_*P6xlaBTy6tOxbfJF?0e%8zwh!9Lw+K>+agoz7aS2s+-86F z;b+!JA8DEjEvNQP1d(3r?!=hfEO-k1{KY=m_&V z@u09YwxFFpLhlDg1H3_>u;7!Od-koVRGy8_-0ihP{W>gUk%O(X%>gU#xhPQsAs$pn z*Ub2;u=<+W0GAf(}8YrKL2%E!h?iw0Pj(-~q{p zTVc%)t`@hBpj88J9n2(&(V#wduI%=rtQmmOP$c9A1vM_W8YB>32RlJ10s|cp6y*vh z3AOTT$_dco3-MPsf`TU>4|swlZNmb8X=*|q8r8+Gq^^V;kjcmJ6Y83+Sgcl>>ZEA$ zr%w3T~m`IWhG63tQ>y=g)Oy`{jvNCARJUEd?ddT$qo&`Y^kO?{R8N!!1)+{ zKtZTzYO3J$qx=tSikh0z!TnMGhX$&uSo%lHCzO>beyJ@`lH-5M*6Qhhn4k0_&F@l2 z$@h;OewI9c*3Qp@`K^}us=C)nR3x4n>4iJsF*VS2?V+qzk z|v z*RTs0E<~$VtwI|&Y^ZiEd;Z+{s_WNx@7`63Yss{Dpv43KE)S3sc!NOJs3mBAkX#ED zs;U??G-L}``gvSg1MbvGgN6p3K;^5`)fs^xK9x?%B?v64W_yBAgSCc&8qmrAO!)-S zN}a<|ZzZ43#)9F3N1l8|On~Ky9J&gwS65e&M~4-mx;nlrl!p(lC;)w3bg2)pmYVkC z+7F=-=%nE!IuZuczt}2_3;yGvRD(`|qsX-JMK-0=p>-7*;qgTgNflW52Xak%buvjO zmCAk?WT2DR-V_Uy44W$$fu@@}0_YsnanTT|bbTR_zephIT)ha644J_1LhV!rQGKwW#f{7lu2JMqPTWNIJVt$@!)F{>eLk z$-Y~jv#EpU{nJNtvNzm&mo7}v4Lo|vNNb7i)|~QyfEmZ74|{8P4n0eLP|~wY*RCn~ zGdkQY-j*Hn_}I8g?WZH3zy1D?O6?`{ds@-wGb)sx6rH@R*_%&-^DMS0~lu$*dQH4NH9% zbEo|#DEHiSF=YEI-!*RYzex$_cYnqb$CbIK$2o9f)7;bvg9?)#3l&yPQxzrMbzb|< z?)a%w-@JJK+$}phyW+vTc?uGjjJ2@k?Azer{jm40B;Ljr_PzB)Sx+iu_1acXLo? z=|el+4ewR;mrIIYWLKD&7wNH!{v4ogkY1o__aJlsL($Y94ifzdu33SRzr}Jd3oHJ* zJR-O9kl$Th)8d?*oTRPhbDpIqbkR##w6GQL*OGOC=6MUa8J5;4O?8CM>ihA1E2H(< z*RFHX>kc<>FYRDdt`%m(*|Ad(&AlKwl-wb@8~fTNbL5%2_N{eV7rm9RTHu@+>otNC z`_f+*9o#vO8}-zRUmSW!18pEgBl|BBsSVrNn#bOpSHk)=b#Z*fUzhVbJpBEqzLonn z6r`%AC=&Li58@5WwoirK7<Fz*YiALH;_W9pWvQ}<#^v=F_YUbW6SH=Lz zL)9Rqb*>J&(T$yDjd-f_`6D>UZytAX9O6&l#Qq9}Mcl=U5PvNvb|@5QT7^@m;|FO$ndu4*c=Z{J1=+fQDr$43bUue&-}<@RTx^Lp(2`pC7rmA44- zf8oH!!UcUt!iL4RNqNu;?Ye<~lg`1fNNeW;SdcC2-5bc>bH`fcc1d-)Fh|Rx?5v%k zXY!M{jqfT?U93#(vaR4^dWFQODBUGEFmU(R?(VMw{_J1!{pm%OLsj~qTu$&rR!lrt z(|P+t?x-IS`q_IBmN>e-wFsf9-u-dGZmks*bPl$LU5yzl=ks53Py*~rbcH>?2Cx&j zEo}N|We4v(bVH)KuV712!SO{Q+tT|+6+ho#@$Ju<`8|T?xgq{7yo7%TGe_C+-Sj>}xL8B`?mF}ye!{+9*j=lHu`7IuAXEc6xZb_S)cMj`LEJ&4D zO0?I{N5-RdBpIOwXjwP3>||-#@l3n+hQ?}QKeotnm&=yQ@pp_a>i)V78LvRb)2>}k zV|7q4Aqek`C#Aws=CED#O@J8XqhZ zetsu)k3e^JetJ)Eu9>FTG!S`7UgST^%@qr$#Fy`TJy18ZbX8X(BUV>f?h=`AG-Pk4 zz_ZNd`H%5m#Y}j&VVf?Iv8tk?;@PeJn<@_7?(^h$#$Xn>wtT!Bt3hi&SCSFoRdqoT0C?9LDKUi(APcFx^LDi zL5(d6+pVKtpkbguBzXM(xa7@C*fxjG=WW~ay1ddYYNluoTQo&yYj*l6g`jSz?e)UD zG55Q8cOnwjm?e2xzq>+Kuenx~jH^2k2`i8F9(s#?`}{28>lh<`o3OuLTzEXB+&%nk zk8=|%XYWka{H|crtedxPX;${z`XEJ;QE>c)MSKa1cQWH$NoAMW$3rH>b*WMzo28{5M`b6<7Q|(rPaO%HU<^>wfp=j7{?D zwL`~yjA$fVq<{Eoh0FE)%)qhg2YZUUviPgqA7uwTeVcE(TWL}oZ&f1U+>vmJ-szYv z?t8EZE7+kp=IjrD=4Wm=rjv1Ol!^}r^;oenK(IYCY2cVa;*ALAL&X&v%LIorlfpfy zik?@JX5Puq9JU9mRfkS`@Fu_a_Z7n@Nug=Prd(MO_%&Rfl%#=VAfQOxTyyGM^7S7>GIzrM?*Z2Rm$ zj%Z>`PTGcn0p(D~Nu4DqH}9xUaEp3)oQ$}nOWYeStW37}b{Pt-%r9A<)^|_(mJyHB zMImV!1JC6Dse&Ho#N=p?M=vu#Lt2ZM+yZ+wVPbVwh0rhQ9;qFtJt-_KoSPl2e)Y_YmoF#4Ubu>p8EYcChn<(e zuFT5S2A(IJ3%Ut6ui1#WhV1UBJLi9Q?%v%uc<|sor%#WRsDzpYmLAHm*NK_`uJXG- z4AKAGlD8dETgj^&}@-_8kDTK~V06<<$QYY zdnKx)zfw#$^qt&wGvWUA+btVL?@{2FauZtfSKR1Vx_f)Ej`-KJXU|R#De(?fO6>VC zrKo&Qr_{8bXufK!%ROf+k?OpR(T1g$)_VotvFNiG`@;FeJ>TOdww&NR4U67o<2?&E zbw34jxFzq8-mnV2iN>z>^wLTBVbSc%`q_w^qEmV;IBX7jve9(5dv;RHKCfQ+Nc*)V z@1}@Nv?H>5?ySt2e0Jh1*EnuZmiL-eSA+DRwIh8*+I~((4^Nw2a9mq7b>Iby6(^AP z!!vxtw!iN`pBlNTv*S))C*vh+iVis_tP3dq)-`wnnz0MMN zueZi=%EXO%FfX&7viD=_o16Xc{xW%fguPTXY@=+#G;Am4rRu2k-)?_Ma7fkq0QQho z8w-U_b6x z`W#2Mo1Vu!wT%HfPi=YTm}ySqAHL%ufjz_Zj(y55%!}L5ZK7!MQaUfrHy8Wi+a(`u zH`6xUma>aUW0omCDs3+IQ+VhpKHoF(*LKdQx1spybvQ4tzB${Eant9)y5>E~UU_!P zt8ec1$E{dV)pzpF`IPN-_4B{ge)?LVw)viJ`+w1XY!iIXsn%;frtNh5ss3iB%r?z^ z{A0ZEZ7VV|vDa2++RH36+k9#JnfMyJ++u(AXK*e3U;TMSQ{Vq<`-|#tW-5=5S^qI*cxU;GU;k6~G4WFM%v2s9 zv%bD^ZMNfM;oo}xtIu9KU7qb=zxRLL{>HQ&`;IxE(*2I}%<2?#om2QA5plOgWT%D*Y0+e~kSUzQ#nXyiLtTDU)pw={rG*CD*JIB`=GJ+K{p56W%lED zesY*T_(ElGjH#&u*oxo%`I7IyVBM}wZ8u$?%m-g$9AMjx=~%vG9D5I{BYt zE3~ii4)qtX!~37u062LN@jCQl{neO!pWF|CJD$Rh@81aof+o9vf$tH(-z=p2Bk5E7 zfbRRI#7^DQ!8$4b;q)KiuWC=pZ0fWz@H6k%HguWpqZa(qxrgqPhW0m89$i;s`k$`n zQ}Rr_%rae8Q{cz@`0Khij%oD0{uEw1PO1*4^!ld2Pra+ceE$UFsEtNprQ@XPz65@Z zgL>Bn@2|%G#u4W+9!#qZYi)I33P1gw8H|^*2jii?6N541y1F9WuBI42SYK`Lw@?@{ zjgE<`mzUCcn+iXEAA#<33LCCtzN z4&>3P`liHB*M;-cJMS1vZSS;Wp4xCybvUKVY^w23>BQ$L3Jd+5MbVo(evA*lPl_WQ zGd)k)S6khe_CLl{-#aoCet9X~uErcc^7MaheG7i+l_tIK=sx*e|JK)@u8WSLp{{@H z)Bm~j7W^MSe(1hp`duE4USD6nvBwWxe?#NP*AV|!{1`jq{#%3Hzhe6NQ_J)|t1Vv} zcIb!D<}&}(hMB69gWda6v15Mv*rVj*^i%!K`jTkF|aok{>H*y z7k>Jf{hWMbVrSxS=slB-ja`Pn>X{=xmo(Hfn5Muk!;hbvRy&6`QrR2pYm5MR@$=Kh zd$95C4R6&+1%Ti5Qsw+z^WT_BR>^IV%i7_= z_HjX*mQcS3V9v(ppB#t{bsoj%GEx1S$?G522Gq;MUoQsA?p3Q+$-S5Ssq0THOJ-9+ zeLkRU|5P3I@l$d?RX_7O@>9zcu7A6J%8vR{rhh2@&$XYD!~DK9e$Gn&jx^R!@zV1R zrJs7%g}-G-edm_`%!{s*o^L4q^k-FAK92NfR#Y98Qod*?{rH(GC7Vj?dd}LA`s;db zD(^XIL+Ynw)%8t3>=TNQo^L4sQ?liKQ;)8bo^NRV6b@#Jb^g1eETlyvS)8DOa%=3S3cGGo(58|6r|EKE4*rbsvKdZ5k_l>Ud+~!0qYBWL%(eBkr`D-die+LvR9atq>U-U_t-GyrP|?C zHrLmE_LwalfZS?56>@GNA2*ibeG?-7WD5;YKFAs#d*OK>w* z0dc`XT$-kcfENd`F2zJcQrORhCJC613;Yr0@`)B~{R7u&+Bv8igj3 zf7)FlVPU~!pmOF=vVr)4hmbNLw)7@3l>UO4SdAx*NB*KyDA%F@8Jb0u+0&!GWYXk+qmd8tA?jLzP=AtV0o^KgmF+ zV@piINfJq=ur~TiV3q38C|iGuqDzl< fI=v0}h66TABsvgfV~K`;v>Nz-FhvJr82J7VVd_!f literal 0 HcmV?d00001 diff --git a/examples/simple/emptyProject/Resource.rc b/examples/simple/emptyProject/Resource.rc new file mode 100644 index 0000000000000000000000000000000000000000..bf49bbe01d505ba5291581e52eeebaf623682e13 GIT binary patch literal 7332 zcmd^E-EJF26h7C8@(j!7rWI)uCjkB|W372s2}r+{6d<+^M1PS6kVMQrDCi8)W?fxHJQYo=WR zbcE3%W}lk5VPgFg`9?xBn=4n$yn$Iq+`H0}wnWmAlGLOrJvopvpe6JhQkO$O+W6g< zJwWQ{D}C~izel;#HjpaxvZ&($v^16r$UlX4sD}trzrb$|QWqg7^-%_V1Mi|m-fe@I zM!$BQumAjMOgXaNaSdJ3lLnA`Ip0vtE8cvy%3UCj8*lm#<@?v|=KF6SH~#ECO0o3B ziJNnylMlW4IhBXdQU#u4epl?3%?HjNuw$xP=)t@LR*G(t>Q+Rwtz{Bzrbr zl`osR+^BuE&5CRtXUn$$9cJYKj_*PCs>u%g3T97wwmp*dS;j3xbFrS8OO~OLmgPf9 z=9o~9kgJXm!8YH=TxM~!xg%!yXD(NxF!~9_Ex0_l!*LwLRlq74*5<9ic`D=jy;jZyn?QoB$rY3cs^&VK%n~ z{7raZ2bm?h(+cJWVy~E7QU!PW$SG~aegNz@vIz^;4R(6vV7^x{+m#U|9Yl%GXN<{W zD9qRQQMXK>r`zYRJM+0Wk*dF<3H~hZE%3-^YqloVR)iX+1rB{4;&Gcl{aH#mJ@%Px zo6svY6M};&?9FQI47xjqWPNCI1YXAr(U^`+qr%6!F55;LO7t~)eq6_E(sGlIYTJb! zS=UepA^2wfbBVfhB(LCK$N1_4&b=gruh46n@)^E9m*JOxv>!xYWKd7XuR16Jt6RU? zcu1%7rvH26w;w+kEJw+YIHgcP#k@Xy3-^+M)?-b6g_c$OqK^7Te^Y3$g*ju;=p#O; zL+hQY7r*tbP{;f;gPr!c1TOl}8EVog@K{?UM*>tGMN?O7K(>PH+>2&&MuWaexztkp za(&?6kk4x76sMCDNVKRy-^+e({1V;Q%Y6LHdqBKTtF@94KQg<}*412h%S5{G2@$X{ z7ALR>&w_58Fz?ztK#wTkOu`)JdRfeE+~YXkeC?DjH_Dy1f!Ra2A6DTj?yjeMD`)!q zPV$VBtRGlI*9>k}zqV@5rj?$bxxQp-`kKk3P4LJamv~|b`BM){$D^ZmkB!Xk%G#fN z5!|R{&$E4Gvi^Qzh4nXAve?Js-v6({DcMRJrhAL;E4*)DHA1V~U)plVd{gJv6L>dsh<%&8b_rDmPjY3zSPwSP@@%Oi`+${< zcUDmM?ZT2=6_2yFdjS~n9O8Aycw!|!)}0pq+)!&7FY3UPTxb#4TbOMtS9io>CgldA zj=ET!8-jkUIlEiN(rg>~L-0=i+U9m<2rW~_AvA4wMO){^nq!8vHE(*8a=wf)0IjF-CL z{ZbhgT?O_6@U9}aXH%#foA72zY5Hv_&!No`vIBFRQYsoh;k^QFR0NG3!~d4?uZ4-`3;-bk#Gt zpF3{_e!7yyu%=NVkHf(Ay%7}Cpfd%(F?TpW}F-H99ZbFZ_{k&O1+cluOUp)P8m)a`ziw*P{9AYXoR(tKr-3?349yz9e$F lNk-2<`}bxOo_hPgH>yXMi+uITVYW|?;QNfqyPSiF>2C~4QO*DW literal 0 HcmV?d00001 diff --git a/examples/simple/emptyProject/emptyProject.sln b/examples/simple/emptyProject/emptyProject.sln new file mode 100644 index 0000000..a51e907 --- /dev/null +++ b/examples/simple/emptyProject/emptyProject.sln @@ -0,0 +1,31 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 15 +VisualStudioVersion = 15.0.27703.2047 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "emptyProject", "emptyProject.vcxproj", "{A3B40728-4CC8-4051-8D67-8B97A314B696}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + Release|x64 = Release|x64 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {A3B40728-4CC8-4051-8D67-8B97A314B696}.Debug|x64.ActiveCfg = Debug|x64 + {A3B40728-4CC8-4051-8D67-8B97A314B696}.Debug|x64.Build.0 = Debug|x64 + {A3B40728-4CC8-4051-8D67-8B97A314B696}.Debug|x86.ActiveCfg = Debug|Win32 + {A3B40728-4CC8-4051-8D67-8B97A314B696}.Debug|x86.Build.0 = Debug|Win32 + {A3B40728-4CC8-4051-8D67-8B97A314B696}.Release|x64.ActiveCfg = Release|x64 + {A3B40728-4CC8-4051-8D67-8B97A314B696}.Release|x64.Build.0 = Release|x64 + {A3B40728-4CC8-4051-8D67-8B97A314B696}.Release|x86.ActiveCfg = Release|Win32 + {A3B40728-4CC8-4051-8D67-8B97A314B696}.Release|x86.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {06694693-7882-40DE-8FEF-464F3650809B} + EndGlobalSection +EndGlobal diff --git a/examples/simple/emptyProject/emptyProject.vcxproj b/examples/simple/emptyProject/emptyProject.vcxproj new file mode 100644 index 0000000..3f3976d --- /dev/null +++ b/examples/simple/emptyProject/emptyProject.vcxproj @@ -0,0 +1,132 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + Debug + x64 + + + Release + x64 + + + + 15.0 + {A3B40728-4CC8-4051-8D67-8B97A314B696} + emptyProject + 10.0.17134.0 + + + + Application + true + v141 + MultiByte + + + Application + false + v141 + true + MultiByte + + + Application + true + v141 + MultiByte + + + Application + false + v141 + true + MultiByte + + + + + + + + + + + + + + + + + + + + + + + Level3 + Disabled + true + true + + + + + Level3 + Disabled + true + true + + + + + Level3 + MaxSpeed + true + true + true + true + + + true + true + + + + + Level3 + MaxSpeed + true + true + true + true + + + true + true + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/examples/simple/emptyProject/emptyProject.vcxproj.filters b/examples/simple/emptyProject/emptyProject.vcxproj.filters new file mode 100644 index 0000000..0ca47e1 --- /dev/null +++ b/examples/simple/emptyProject/emptyProject.vcxproj.filters @@ -0,0 +1,35 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hh;hpp;hxx;hm;inl;inc;ipp;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + + + 头文件 + + + + + 资源文件 + + + + + + + + 资源文件 + + + \ No newline at end of file diff --git a/examples/simple/emptyProject/emptyProject.vcxproj.user b/examples/simple/emptyProject/emptyProject.vcxproj.user new file mode 100644 index 0000000..be25078 --- /dev/null +++ b/examples/simple/emptyProject/emptyProject.vcxproj.user @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/examples/simple/emptyProject/icon1.ico b/examples/simple/emptyProject/icon1.ico new file mode 100644 index 0000000000000000000000000000000000000000..5d06b9f2857b39f0b5d3395e3e7999ba6bcc3a38 GIT binary patch literal 45451 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 literal 0 HcmV?d00001 diff --git a/examples/simple/emptyProject/manifest.xml b/examples/simple/emptyProject/manifest.xml new file mode 100644 index 0000000..37e7b71 --- /dev/null +++ b/examples/simple/emptyProject/manifest.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/examples/simple/emptyProject/resource.h b/examples/simple/emptyProject/resource.h new file mode 100644 index 0000000..5ec2c13 --- /dev/null +++ b/examples/simple/emptyProject/resource.h @@ -0,0 +1,21 @@ +//{{NO_DEPENDENCIES}} +// Microsoft Visual C++ ɵİļ +// Resource.rc ʹ +// +#define IDD_DIALOG1 101 +#define IDI_ICON1 105 +#define ID_OK 1002 +#define ID_CANCEL 1003 +#define IDC_STATIC -1 + +// Next default values for new objects +// +#ifdef APSTUDIO_INVOKED +#ifndef APSTUDIO_READONLY_SYMBOLS +#define _APS_NO_MFC 1 +#define _APS_NEXT_RESOURCE_VALUE 106 +#define _APS_NEXT_COMMAND_VALUE 40002 +#define _APS_NEXT_CONTROL_VALUE 1004 +#define _APS_NEXT_SYMED_VALUE 101 +#endif +#endif diff --git a/examples/simple/generate_res.bat b/examples/simple/generate_res.bat new file mode 100644 index 0000000..2613084 --- /dev/null +++ b/examples/simple/generate_res.bat @@ -0,0 +1,2 @@ +windres -i emptyProject/Debug/resource.res -O coff -o vsui.syso + diff --git a/examples/simple/main.go b/examples/simple/main.go new file mode 100644 index 0000000..788d34b --- /dev/null +++ b/examples/simple/main.go @@ -0,0 +1,18 @@ +package main + +import "github.com/whtiehack/wingui" + +func main() { + dlg, _ := wingui.NewDialog(101, 0, nil) + dlg.SetIcon(105) + btnok, _ := wingui.BindNewButton(1002, dlg) + btncancel, _ := wingui.BindNewButton(1003, dlg) + btnok.OnClicked = func() { + dlg.Close() + } + btncancel.OnClicked = btnok.OnClicked + dlg.Show() + // This invoke is optional. + wingui.SetCurrentDialog(dlg.Handle()) + wingui.MessageLoop() +} diff --git a/examples/simple/vsui.syso b/examples/simple/vsui.syso new file mode 100644 index 0000000000000000000000000000000000000000..cca67fd3f8a1b219a20fd9c72e7fdbbe544ff688 GIT binary patch literal 48102 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 T$uuZ9$Wvwx9B0@jeCGH+