HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2010
0828
鳥羽Unicodeのeditコントロールが作れない3解決


鳥羽

リンク

2010/8/28(Sat) 12:15:15|NO.34672

Windowsの付属ソフトのメモ帳(notepad.exe)のように、
unicodeが含まれる文字列を入力できるエディタを作りたいのですが、
うまくいきません。
目標は、ハート(♥)などを手入力できることです。
hspのmesbox命令のeditコントロールですと、ハートマークが?に変わってしまいます。


#uselib "USER32.DLL" #define global CreateWindowEx CreateWindowExA #func global CreateWindowExA "CreateWindowExA" sptr,sptr,sptr,sptr,sptr,sptr,sptr,sptr,sptr,sptr,sptr,sptr #func global CreateWindowExW "CreateWindowExW" wptr,wptr,wptr,wptr,wptr,wptr,wptr,wptr,wptr,wptr,wptr,wptr editstyle = 0x0004 | 0x0008 | 0x0040 | 0x0080 | 0x1000 style = 0x40000000 | 0x10000000 | 0x00800000 | 0x00200000 | 0x00100000 exstyle = 0 crass = "edit" wnd = "テスト" cnvstow wnd, wnd CreateWindowExW exstyle, crass, varptr(wnd), (style | editstyle), 10, 10, 320, 240, hwnd, 0, hinstance, 0 title "" + stat stop /* ここまで */



この記事に返信する


鳥羽

リンク

2010/8/28(Sat) 12:21:37|NO.34673

↑の者ですが、
クラス名の変数がcrassになってますね。
正しくはclassですね。すみません。
あとで直そうと思っていたのですが、間違って投稿してしまいました。
動くことには動きますが・・・



info

リンク

2010/8/30(Mon) 01:06:08|NO.34713

少し外観が異なりますが、リッチエディットコントロールを使う方法もあります。


#uselib "kernel32.dll" #cfunc c_LoadLibrary "LoadLibraryA" str #func f_FreeLibrary "FreeLibrary" int #uselib "User32.dll" #func f_SetWindowPos "SetWindowPos" int , int , int , int , int , int , int #const SWP_NOSIZE $00000001 #const SWP_NOMOVE $00000002 onexit gosub *exit pLib = c_LoadLibrary( "riched32.dll" ) winobj "RichEdit" , "" ,, $50B110C4 , 0 , 0 hRedit = objinfo_hwnd(stat) , stat sendmsg hRedit , $00000435 /*EM_EXLIMITTEXT*/ , 0 , 0x7FFFFFFF f_SetWindowPos hRedit , 0 , 10,10 , ginfo_winx-10*2 , ginfo_winy-10*2 , 0 objsel hRedit.1 stop *exit gsel 0 clrobj hRedit.1 , hRedit.1 f_FreeLibrary pLib end

さくらさんの hsp3stdlib を 参考 に させていただきました。



鳥羽

リンク

2010/9/5(Sun) 10:01:58|NO.34856

ありがとうざいました。
その方法もあったんですね。
参考にさせていただきます。
返事が遅れて申し訳ありません。



ONION software Copyright 1997-2023(c) All rights reserved.