■過去ログ置き場に戻る■ 1- 前250 次250 最新50


[memo] "9999999999_00.html#R20" という感じで、URLの最後に "#RレスNo" を追加すると幸せになれます。

Win32API質問箱 Build26
751 名前:デフォルトの名無しさん :05/01/10 19:52:19
>>322
これ便利だな、サンクス

752 名前:デフォルトの名無しさん :05/01/10 19:59:57
タブコントロールをコントロールの左側に配置して、
タブの文字を横書きにしたいのですが、標準だと縦書きになってしまいます。
横書きにできますか?

753 名前:デフォルトの名無しさん :05/01/10 20:33:44
できます。

754 名前:デフォルトの名無しさん :05/01/10 20:34:40
できません。

755 名前:デフォルトの名無しさん :05/01/10 20:36:40
>754
ソースは?

756 名前:デフォルトの名無しさん :05/01/10 20:38:49
>>753
どのようにすればできるか、教えてください。


757 名前:デフォルトの名無しさん :05/01/10 20:40:30
>756
理由は?

758 名前:デフォルトの名無しさん :05/01/10 20:42:33
>>757
いいからさっさと教えろ糞野郎が。

759 名前:デフォルトの名無しさん :05/01/10 20:43:20
>758
工数が発生します。ただではできません。

760 名前:デフォルトの名無しさん :05/01/10 21:06:56
>>754にはできません。

761 名前:デフォルトの名無しさん :05/01/10 21:23:52
http://aaesp.at.infoseek.co.jp/gif/aae_main.gif
こんな風か?

762 名前:デフォルトの名無しさん :05/01/10 21:59:48
それの其の1、其の2と書いてある部分は、字がたてにならんでいると思うんですが
それを横に並ぶようにしたいんです。
オーナードローとかなしでできますか?


763 名前:デフォルトの名無しさん :05/01/10 22:10:17
縦書きフォントを指定すれば出来る気がする。

764 名前:デフォルトの名無しさん :05/01/10 22:17:32
http://www.softinn.jp/pc/Warp/warp/image/SETPEER.gif
こんな感じだとおもうよ

765 名前:デフォルトの名無しさん :05/01/10 22:33:26
>>764
そうです、そんな感じのにしたいんです。
どうやったらできるか、わかる方教えてください。

766 名前:デフォルトの名無しさん :05/01/10 23:04:34
オーナード(ry

767 名前:デフォルトの名無しさん :05/01/10 23:36:08
>>729
> >読む人間は大して変わってない
> どういう意味でしょうか。

そのままの意味だけど。
うちのねっとワーク環境は、10年前と比べて 100倍速くなった。(33.6kbps → 3Mbps)
でも、あんた文章を読む速度が 10年前と比べて 100倍早くなったか ?
(10年前は、赤ん坊とかならら別だけどさ。)
だから、同一記事のうざさは大して変わってないよ。

つーか、ネットワーク環境構築が容易になったせいで、カキコする奴が増えたから余計悪化しとる。

>>731 ... (釣りか ?)
> たくさん見つかれば、それだけ重要なことと認識されます。

http://www.google.co.jp/why_use.html のあたりを見た方がいいぞ。

768 名前:デフォルトの名無しさん :05/01/11 04:38:24
>>766
全部自前で描画ってことかい!

769 名前:デフォルトの名無しさん :05/01/11 07:17:03
TCS_MULTILINE と TCS_FIXEDWIDTHを付けた
Tabコントロールの横幅とTabCtrl_SetItemSizeの横幅とを
同じくらいにすれば、望む結果になると思うけど……

770 名前:デフォルトの名無しさん :05/01/11 09:46:45
ログインユーザー名と標準のメールアドレスってどうやって取得すればいいですか?

771 名前:デフォルトの名無しさん :05/01/11 10:54:52
IMEのユーザ辞書に「ImmRegisterWord」関数で単語登録をしているのですが、
20,000件の登録処理を始めると15,000件以降は「ERROR_MOD_NOT_FOUND」で失敗します。
15,xxx件までは登録に成功しているので、指定されたモジュール(日本語辞書ファイル?)が無いはずは無いんですが...

何故この様なエラーが発生するのか知っている方はご教示ください。


772 名前:デフォルトの名無しさん :05/01/11 11:25:27
>771
語数が多すぎるので辞書を分割した方がいいのでは?

773 名前:デフォルトの名無しさん :05/01/11 12:08:26
>767
池沼?

774 名前:デフォルトの名無しさん :05/01/11 12:14:24
>773
池沼かどうかは知らんが、普通に質問した人間に対して
回答する態度ではないな。

775 名前:771 :05/01/11 13:00:09
IMEの辞書ツールで「テキストファイルからの登録」から登録を行った場合は問題なく登録出来ています。
ですんで、登録件数が多い為発生したエラーでは無さそうです。

PS.
「辞書の分割」は無しな方向で...

776 名前:デフォルトの名無しさん :05/01/11 13:20:51
>775
可能ならソースコードを一部抜粋してください。

777 名前:771 :05/01/11 14:02:08
ファイルの解析部分を省略している以外はこんな感じです。
処理件数が少ない場合は成功しているので、
変わった事はやっていないと思うのですが...

HKL hkl;
FILE *pFIle;
BOOL bRet;
char szRead[256],szRegist[256];
DWORD dwStyle = 0;

// キーボードレイアウト取得
hkl = GetKeyboardLayout(0);
pFile = fopen(szFilePath,"r");
if(pFile==NULL){
return -1;
}
while(!feof(pFile)){
// ファイルの解析(省略)

// 単語登録
bRet = ImmRegisterWord(hkl,szRead,dwStyle,szRegist);
if(!bRet){
// Error
}
}
fclose(pFile);


778 名前:デフォルトの名無しさん :05/01/11 14:28:14
>771で書いているERROR_MOD_NOT_FOUNDはImmRegisterWordの
戻り値か何かですか?

779 名前:デフォルトの名無しさん :05/01/11 14:29:18
dwStyleは0でいいの?ヘルプにそう書いてありますか?

780 名前:デフォルトの名無しさん :05/01/11 15:04:42
>778
GetLastErrorの返値だろ、ぽけ!

781 名前:771 :05/01/11 15:07:16
ImmRegisterWordでエラー発生時のGetLastErrorで取ったコードです。>ERROR_MOD_NOT_FOUND
で、
ImmRegisterWord関数の引数はファイルの解析してるトコで取得してます。
ImmEnumRegisterWord関数で取得したスタイルの値と一致していたので問題ないと思います。

書いとかなくてすんません。

782 名前:デフォルトの名無しさん :05/01/11 15:54:18
_beginthreadexはハンドルを閉じないといけないらしいですが、
処理を投げっぱなしにできないもんでしょうか・・・。スレッドが
終わると自動的にハンドルも閉じるとかそういううまい仕組みが
あったら教えてください。

783 名前:デフォルトの名無しさん :05/01/11 15:57:33
>782
できれば ImmGetRegisterWordStyle も使って欲しい。失敗した単語に外字や不正な文字がないか。なければサイズの壁かも?
15000 x 約5バイト = 256 x 256 x 約1バイト.
_lreadで届くかどうか?

784 名前:デフォルトの名無しさん :05/01/11 16:00:04
>>782
ハンドル必要ないなら、_beginthreadex 呼出し後にすぐ閉じればいいじゃん。

でも普通は(そのハンドルを使って)待ち合わせするもんだと思うけど。
ワーカスレッドが終了する前にメインスレッドの終了処理が開始されるとまずい
ことが多いから。

785 名前:デフォルトの名無しさん :05/01/11 16:03:38
>783の誤爆失礼。
>782
終了コード要らないなら気にせず、CloseHandleすればいい

786 名前:デフォルトの名無しさん :05/01/11 17:04:28
>>784
_beginthread は自動的にスレッド ハンドルも閉じてくれるぞ

787 名前:771 :05/01/11 17:23:56
エラー時の単語をログ取って確認してみましたが特に変な物はありませんでした。>不正な単語とか

で、登録件数を10,000件ずつ2回に分けて登録(>777を2回呼ぶ)してみたらエラーは発生しませんでした。
分ければ登録出来るんで、とりあえずは逃げ道を確保...

じゃなくて... どーなってるんだろ?

>_lreadで届くかどうか?
と言うと?

788 名前:デフォルトの名無しさん :05/01/11 17:25:05
foobar2000 のウィンドウクラス名が
{DA7CD0DE-1602-45e6-89A1-C2CA151E008E}
と一見意味不明な文字の羅列なのですが、
これは一体何なのでしょうか?
検索しようにもキーワードが思いつきません。

789 名前:デフォルトの名無しさん :05/01/11 17:25:57
>780
あらそうですか。

790 名前:デフォルトの名無しさん :05/01/11 17:28:17
>>784-786
ありがとうございます。簡単なことでしたね・・・すいません

791 名前:デフォルトの名無しさん :05/01/11 18:10:49
>>788
GUID でググれ

792 名前:デフォルトの名無しさん :05/01/11 18:11:32
>791
ググってください、の間違いです。

793 名前:デフォルトの名無しさん :05/01/11 18:12:37
>>792
そりゃどうも

794 名前:デフォルトの名無しさん :05/01/11 18:59:34
>793
気を付けてくださいね。

795 名前:788 :05/01/11 19:15:31
>>791
ありがとう。早速調べてきます。

796 名前:デフォルトの名無しさん :05/01/11 19:49:20
ちょっとパケットログ取りたいソフトがありまして、
ws2_32.dllのラッパーを作ろうとしてます。
対象アプリのディレクトリに入れるだけで働くといいな、と思い、
自分で ws2_32.dllという名前で、本物のws2_32.dllがexportしてる関数と同じモノを
exportして、その関数から、本物のws2_32.dllの関数が呼べれば、
パケットのログだけ取って、実作業は横流しできるかなと思ったんですが。

書いてみると、
__declspec(dllexport)で acceptとかを宣言するのはいいんですけど、
実際に本物を呼び出すときって、どうすればいいんでしょう…。
呼び出す関数も同じ名前なんだから、解決できないのかなぁと…。
こういうときって、どうすれば本物の関数を呼び出せるんでしょうか。

環境:VC++6.0 Professional

>>52 とかのソースも拾ってみたんですけど、どうもしっくりこなかったので…


797 名前:デフォルトの名無しさん :05/01/11 19:53:35
>796
LoadLibrary,GetProcAddressを見よ。なお、DLLファイル名が衝突しないように!

798 名前:デフォルトの名無しさん :05/01/11 19:54:21
>>796
LoadLibraryでフルパスを指定したらどう?

799 名前:デフォルトの名無しさん :05/01/11 19:58:34
>797訂正
LoadLibrary,GetProcAddressを見てください。なお、DLLファイル名が衝突しないようにご注意ください。

800 名前:デフォルトの名無しさん :05/01/11 20:09:00
>>799
>>796を読むと衝突させる事に意味があるように思うんだが

801 名前:デフォルトの名無しさん :05/01/11 20:29:41
>>797-800
即レス感謝です。

なるほど、フルパスで明示的にLoadLibraryですか…。
確かに、これならいけるかも。
この方向でやってみます。
ありがとうございました。


802 名前:デフォルトの名無しさん :05/01/12 05:28:23
たとえばメモ帳とかのハンドルをつかまえて、
そこに文字が入力されたよ、とメッセージ送るのはどうするの?
キーボード入力の代わりにするつもりです。

803 名前:デフォルトの名無しさん :05/01/12 06:57:13
>>802
メモ帳はエディットコントロールそのものだからWM_SETTEXTとかEM_*が効くけど
エディタ一般に通用する方法は普通ない
キーボード入力のシミュレートならSendInput

804 名前:771 :05/01/12 13:37:30
ImmGetRegisterWordStyle関数でスタイル数の取得を行うと
0しか返ってこないんですが...なんででしょう?>Win2Ksp4+IME2003 or IME2002

スタイル数が0だとメモリも確保出来無いので、
スタイル数を256固定にしてメモリ確保を行いImmGetRegisterWordStyle関数を呼出す。
取得したリストから品詞を選択してImmRegisterWord関数で単語の登録

ImmRegisterWord関数で単語を繰返し登録していると、メモリの使用量がどんどんと増えていく。
メモリリークが起きているかのごとく...
で、作ったソースからImmRegisterWord関数の呼び出し部をコメントアウトするとリークは起きない。

こんな現象(ImmRegisterWord関数でメモリリーク(?))が起きるのは、ウチの環境の問題でしょうか?

PS.
10,000件だと登録出来ていたのは、単に落ちるまでメモリを使用しなかっただけ?

805 名前:デフォルトの名無しさん :05/01/12 13:52:18
右クリックメニュー(ショートカットメニュー?)をTrackPopupMenuで出しているんですが、
表示しているメニューを消すにはどうすればいいんでしょうか?

IE等のように再度右クリックしたらその位置にメニューを出したいのですが、
現状では左クリックしてメニューを消さなければ(メニュー操作をキャンセルしなければ)
新しいメニューが出てくれないのです。

806 名前:デフォルトの名無しさん :05/01/12 14:29:16
DeleteMenu

807 名前:デフォルトの名無しさん :05/01/12 14:38:11
>>805
TrackPopupMenuの二番目の引数に
TPM_RIGHTBUTTON、TPM_RIGHTBUTTON 両方追加したらどうでしょう?

808 名前:デフォルトの名無しさん :05/01/12 14:40:00
再度右クリックってのがマウスカーソル1ピクセルも動かずにって話なら、
あらかじめメニューを出す座標をカーソルから少しずらしておけ。

809 名前:デフォルトの名無しさん :05/01/12 14:51:00
DestroyMenu

810 名前:805 :05/01/12 15:46:59
TPM_RIGHTBUTTONを追加したら希望通りの動作になりました。
ありがとうございました。

811 名前:デフォルトの名無しさん :05/01/12 16:24:08
自作アプリケーションで、HGゴシックEなどのフォントを使って
TextOut APIで文字列出力すると、ディスプレイの表示設定により
アンチエイリアシングされますが、自作アプリ内でのみ、アンチ
エイリアスを無効にする方法はないでしょうか?
一旦仮想画面上に文字列を描画後、適当なしきい値で2値化して
画面にBitBltすればできると思うんですが、もっと簡単に実現する
方法があればご教授お願いします。

812 名前:デフォルトの名無しさん :05/01/12 16:31:20
>>811
CreateFontの12番目の引数(fdwQuality)の値を
NONANTIALIASED_QUALITY
にすればいいのでは

813 名前:811 :05/01/12 16:45:22
>>821
あっ…なるほど(汗
VC6のMSDNライブラリにNONANTIALIASED_QUALITYについて記述がなかったので気が付きませんでした…
MSDNオンラインで確認したらNONANTIALIASED_QUALITYの説明が載ってました。
ありがとうございました。

追伸
アンチエイリアスなしで文字列を描画すると文字によっては激しく潰れて識別できないようですね(汗
後程自前で2値化処理して比較してみることにします。

814 名前:811 :05/01/12 16:48:05
レス813の >>821>>812 の間違いでしたm(_ _)m

815 名前:デフォルトの名無しさん :05/01/12 18:55:42
サブクラス化したエディットコントロールのプロシージャで
制御文字を判別する方法ありますか?教えてくださいお願いします


816 名前:デフォルトの名無しさん :05/01/12 19:08:40
WM_CHAR

817 名前:デフォルトの名無しさん :05/01/12 19:19:05
キー入力じゃなくてエディットコントロールにwm_settext送られた瞬間に判別する方法

818 名前:デフォルトの名無しさん :05/01/12 19:20:56
>>817
ハァ?君、頭大丈夫?

819 名前:デフォルトの名無しさん :05/01/12 19:23:17
はい、大丈夫です

820 名前:デフォルトの名無しさん :05/01/12 19:24:53
エスパー養成所ここですか?

821 名前:デフォルトの名無しさん :05/01/12 19:31:14
WM_CHARとかっていう猿でも思いつく解答以外に何かないですか?

822 名前:デフォルトの名無しさん :05/01/12 19:46:06
>821
キー入力の制御文字じゃなかったら、何の制御文字なんだ?
内容の変化はサブクラス化しなくてもEN_CHANGEで聞こえる

823 名前:デフォルトの名無しさん :05/01/12 20:17:31
自分が何をやりたいのかさえ判ってない状態だな

824 名前:デフォルトの名無しさん :05/01/12 20:52:58
わかってますよ。ずっとこれでもわかりやすく尋ねたつもりだけどね。
基本的にapi示すぐらいの機能しかこのスレにはないから訊くだけ無駄だろうとは思ってたけどね

825 名前:デフォルトの名無しさん :05/01/12 20:55:45
>>815の文が解かりやすく書いてあるとおもってる>>824はチョン


826 名前:デフォルトの名無しさん :05/01/12 21:03:52
(・∀・)ニヤニヤ

827 名前:デフォルトの名無しさん :05/01/12 21:46:33
>>815>>817
が、書いてること

1.制御文字を判別する方法が知りたい
2.キー入力が知りたいわけではない
3.WM_SETTEXT送られた瞬間に判断する方法が知りたい

で、まとめると、
WM_SETTEXTが送られた瞬間に、キー入力以外のどういう制御文字を判別(判断)する方法が知りたいんだ?

828 名前:デフォルトの名無しさん :05/01/12 21:50:22
>キー入力以外のどういう制御文字を判別(判断)する方法が知りたいんだ?
聞くなよw

829 名前:デフォルトの名無しさん :05/01/12 22:17:37
mciSendString( "open 01.mp3 alias 01" , NULL , 0 , hWnd );
nDeviceID[SND_TIT_0001] = mciGetDeviceID( "01" );
という使い方は間違っていますか?

また(使い方があっていたとして)このDeviceIDは
mciSendString( "play 01 from 0 notify" , NULL , 0 , hWnd );
としたときの
MM_MCINOTIFYメッセージの
(long)LPARAMの値とおなじですか?


830 名前:デフォルトの名無しさん :05/01/13 15:00:59
エクスプローラみたいにCD-ROMに書き込み、というか、
CDFSに書き込みするAPIを教えて下さいでつ。

831 名前:デフォルトの名無しさん :05/01/13 15:29:04
CDMのソース

832 名前:デフォルトの名無しさん :05/01/13 15:32:50
>>831
ソースがあるなんてスゲー。
でもCDMが分からなかったり、ググッても関係ないの一杯ひっかかり杉。
もう少し教えてキボンニュ

833 名前:デフォルトの名無しさん :05/01/13 15:38:01
このアプリケーションがどけだけCPUを使っているか

という、タスクマネージャに出てるような情報って、どうやって取るんでしょうか?

834 名前:デフォルトの名無しさん :05/01/13 16:03:06
>>830 もお願い

835 名前:デフォルトの名無しさん :05/01/13 16:04:01
>>832
CD Manipulator
本家サイト今見てきたら、Not Foundだって。
自力で探してみて

836 名前:デフォルトの名無しさん :05/01/13 16:15:24
>>830
エクスプローラで書き込めるようになるライティングソフトを使っているのなら、
SHFileOperationとかCopyFileで書き込めるんじゃないか?

837 名前:デフォルトの名無しさん :05/01/13 16:16:38
>>883
GetProcessTimes
とか?

ちなみCPU時間採ってどうする?


838 名前:デフォルトの名無しさん :05/01/13 16:20:36
>>837
将棋プログラムで検討モードというのがあって、手をある程度深く読むんです。
で、その将棋プログラムは学習機能があって、ある程度手を読んだあとに元の局面にすると、
いま読んだ内容を踏まえて読み直しをしてくれるんです。

で、普通、指し手を読んでいる時はそのプログラムがCPUをごっそり使っているので、
そのプログラムの使用CPUが○%以下になったら元に戻る、みたいなプログラムを作ろうと思いまして。

839 名前:デフォルトの名無しさん :05/01/13 16:28:22
なるほど、説明不足でした。
「どれだけ」というのは、「どれだけ長く」ではなくて、「そのときどれだけ占有しているか」という意味です。

840 名前:デフォルトの名無しさん :05/01/13 16:29:52
CDMってISO9660かJolietの生成の部分に致命的ではないバグがある気がする。
(CDmageっていうイメージ観覧ツールで表示できない…)
その辺もやるのだったら、仕様書とか他のソースも参考にしたほうが良いかもしれん。

841 名前:デフォルトの名無しさん :05/01/13 16:48:42
>>830
IDiscMaster::EnumDiscRecorders あたりから調べてみたら?

842 名前:デフォルトの名無しさん :05/01/13 16:50:44
>エクスプローラで書き込めるようになるライティングソフトを使っているのなら、

WinXPだと標準で書けるんだと思ったら、裏でライティングソフトが動いてるんかな。

それを使わない場合は、セクター単位で書き込むしか無いんですか。

結構厳しいですね。

843 名前:デフォルトの名無しさん :05/01/13 17:11:06
>>842
XP標準機能のならここに直接ファイルを置いてみたらどうだ?
"ドライブ名:\Documents and Settings\ユーザー名\Local Settings\Application Data\Microsoft\CD Burning"
http://support.microsoft.com/kb/279157/JA/

もしこれでできたら次はいかにして実際の書き込みの機能を呼び出させるかが問題だが。

844 名前:デフォルトの名無しさん :05/01/13 17:15:08
>>842
>>841 は試してみた?漏れ試してないけど XP ならこの辺で行けそうだけど・・・

http://malab.tit.ac.kr/bbs/view.php?id=tip&no=21
てな感じで IDiscRecorder が入手可能。

IDiscRecorder::OpenExclusiveしてIJolietDiscMaster::AddDataしてIDiscRecorder::Closeの後、
IDiskMaster::RecordDiscで焼く、ってな流れじゃないのかな。

845 名前:デフォルトの名無しさん :05/01/13 17:17:29
>>844
なぜかスルーされてるのに律儀なことだ(w
その調子で>>829にも答えてやってくれ。

846 名前:デフォルトの名無しさん :05/01/13 17:26:33
>>845
お前が答えろ

847 名前:デフォルトの名無しさん :05/01/13 17:28:54
質問者が解答できるわけ無いじゃないかw

848 名前:842 :05/01/13 17:33:12
>>844
MSDN英文サイト読みましたが、読めなくて。
AddDataはファイル単位で書けるんでしょうか?

849 名前:デフォルトの名無しさん :05/01/13 17:50:15
英語くらい読めないとプログラマ勤まらんぞ。

850 名前:842 :05/01/13 18:01:49
>>849
他人に聞いたら、CD全体のイメージを作って一気に書く椰子みたいなんでIDiscRecorderはやめときます。

色んな手段を把握出来ました。有難うございました。

今のところは843のやり方で問題無さそうです。

851 名前:デフォルトの名無しさん :05/01/13 18:23:14
>>848
AddDataに渡す IStorage ってのは、ファイルやらディレクトリやらを抽象化したもの。
自分でイメージ化する必要はないです。

852 名前:デフォルトの名無しさん :05/01/13 18:28:47
Sleep() を呼び出して実行が中断されているスレッドに対して、
他のスレッドから実行を再開させることはできないでしょうか?

853 名前:デフォルトの名無しさん :05/01/13 18:34:53
そのSleepしてるスレッドってのが自分が作ったスレッドなら、Sleep使うのやめろ。
それで解決する。

854 名前:842 :05/01/13 19:02:24
>>851
そうなんですか。
じゃ、AddDataも視野に入れまつ。

855 名前:デフォルトの名無しさん :05/01/13 19:50:50
>>852
同期オブジェクトを使いましょう

856 名前:デフォルトの名無しさん :05/01/14 05:05:48
スイマセン。API超初心者・・・というか今日初めて触れたのですが、
APIを使用してタイトルバーのないウィンドウを作りたいのです。
で、
ttp://www.bcap.co.jp/hanafusa/VBdengon/log_201to250.htm
ここ↑のNo.209を見てできた!のですが、
BorderStyleを「2-可変」の状態ならキチンと表示されるのですが
「1-固定」にすると3D表示されなくなってしまいます…。
「1-固定」にしながら3D表示させるにはどうしたらよいのでしょうか?
ご教授願います。


857 名前:デフォルトの名無しさん :05/01/14 10:11:23
Win32SDKでADOを利用したいのですが、ぐぐってCOMインタフェースを使うことは
わかったのですが、Win32SDKからCOMを利用の仕方がわかりません
体系的にCOMの使い方について解説しているサイトがありましたらリンクおながいします。

858 名前:デフォルトの名無しさん :05/01/14 10:15:22
COMにはやられた...
http://pc5.2ch.net/test/read.cgi/tech/1044457085/l50

859 名前:857 :05/01/14 10:55:08
>858 リンクどうもです。核心にたどりつくの結構長いみちのりですね
ぐぐったりもしてみましたがCOMが検索にひっかからないしorz
#inport "....msado.dll"
なんか初期化する
〜利用
という使い方なのでしょうか わからい...
どなたかテンプレートお持ちでしたらおながいします

860 名前:833,839 :05/01/14 11:00:01
>>833>>839はやっぱAPIではムリなんでしょうか……

861 名前:デフォルトの名無しさん :05/01/14 11:06:48
>>860
いや、既出だし。

862 名前:857 :05/01/14 11:32:49
とりあえづM$サイトのサンプル解読します
だけど__dof()ってなんですか?

863 名前:デフォルトの名無しさん :05/01/14 13:35:31
すいません、Fontについてわからないことがあるのでお尋ねします

環境は VS.NET VC7 & Win32 です

トップウィンドウのウィンドウプロシージャのWM_CREATEにおいて


HFONThfont = CreateFont(~~~~);

static_cast<bool>(SendMessage(hWindow, WM_SETFONT, (WPARAM) hFont, MAKELPARAM(true, 0)));

HFONTnow_font = reinterpret_cast<HFONT>(SendMessage(hWindow, WM_GETFONT, 0, 0));

としたところ
now_fontは WM_SETFONTでセットしたはずの hfont の値が返ってこずにNULLが返ってきます

WM_GETFONTでNULLを返した場合はデフォルトのシステムフォントだそうですが
なぜ直前にセットしたにもかかわらずフォントが変更されないのでしょうか?

ちなみに GetLastError()してみましたが、処理は正常に完了しました、となっていました。



864 名前:デフォルトの名無しさん :05/01/14 13:36:46
さらに上のコードのあとに

HGDIOBJobj = GetCurrentObject(GetDC(hWindow), OBJ_FONT);
HGDIOBJobj2 = SelectObject(GetDC(hWindow), hfont);

としてみましたが
obj は NULLで無い値
obj2 もNULLで無い値がかえってきましたが
実際画面に表示されているフォントは変更されませんでした。

こういった問題はドウすれば解決できるのでしょうか?


865 名前:デフォルトの名無しさん :05/01/14 13:39:23
ありゃ・・・タブがきえてる・・

HFONThfont ×
HFONT hfont ○

HFONTnow_font ×
HFONT now_font ○

HGDIOBJobj ×
HGDIOBJ obj ○

HGDIOBJobj2 ×
HGDIOBJ obj2 ○

です


866 名前:デフォルトの名無しさん :05/01/14 14:22:33
教えてくさい
_T("もじもじ")
_T()はTCHARのことですか?

867 名前:デフォルトの名無しさん :05/01/14 14:54:47
>>866
VC使ってるなら、_Tを右クリックして「定義へ移動」を押してみ。
マクロ見りゃ分かるだろ。

868 名前:デフォルトの名無しさん :05/01/14 15:02:46
すいませんspy++の見方おせーてください
<00133> 00050B4AA R WM_SETCURSOR hwnd:000050B4A nHittest:HTCLIENT wMouseMsg:WM_MOUSEMOVE
わかったのはhwndがウィンドウハンドル R S P くらいです、そんで一行になんで2つのメッセージがあるか不明です
nHittest?
どなたか優しいひと教えてください



869 名前:デフォルトの名無しさん :05/01/14 15:12:03
おちゃらけた雰囲気で質問する人は回答貰えなくてもいいんだろうね。

870 名前:デフォルトの名無しさん :05/01/14 15:30:13
>>868
WM_SETCURSOR でググるくらいすればいいのに。
hwnd = (HWND) wParam; // handle to window with cursor
nHittest = LOWORD(lParam); // hit-test code
wMouseMsg = HIWORD(lParam); // mouse-message identifier

871 名前:デフォルトの名無しさん :05/01/14 15:51:45
>>869 真剣です!
>>870 回答感謝です!
>WM_SETCURSOR でググるくらいすればいいのに。
発想が乏しかったです。ぐぐってみるとhwndとnHitttestがwParamとlPramのパラメタだとわかりましたが
wMouseMsg:WM_MOUSEMOVE の部分の説明のwMouseMsg = HIWORD(lParam); // mouse-message identifier
がマウスメッセージの識別子の説明みたいですが、なぜにWM_MOUSEMOVE とメッセージが2つきたみたいな
書き方が理解できないのです。

872 名前:デフォルトの名無しさん :05/01/14 16:02:08
本当に真剣な人はそんな書き方しないと言ってみるテスト

873 名前:866 :05/01/14 16:10:03
>867
>>VC使ってるなら、_Tを右クリックして「定義へ移動」を押してみ。
_Tは定義されていないシンボルです Orz


874 名前:デフォルトの名無しさん :05/01/14 16:12:34
>>873
(ノ∀`) アチャー
一応うちの環境では
#define _T(x) __T(x)
#define __T(x) L ## x
になってるので、
_T("ほげ") == L"ほげ"
かと

875 名前:866 :05/01/14 16:53:47
>>874
866です。情けないことに回答いただいた内容がさらに???です
マクロが読めません
#define __T(x) L ## x
(ノ∀`) .。o○(L?エル?ロング?C言語の基礎から出直すべきですね...)

876 名前:デフォルトの名無しさん :05/01/14 16:59:19
>>861
ホントですか!?
このスレを「CPU」で検索したところ該当はなかったんですが……
過去スレってこと?

877 名前:デフォルトの名無しさん :05/01/14 17:13:00
>>875
L"ほげ"→ワイド文字列(事実上Unicode)
"ほげ"→通常文字列(日本語WindowsではShift JIS)別名マルチバイト文字列
##はトークン連結演算子
両辺をくっつけて1つのトークン(Cコンパイラがソース内で一塊として認識する単位)にする。

ここまではCの規格。ここからはWin32APIの領域。

Win32API(の中で文字列引数を引数に取る・戻り値で返す)には〜A(マルチバイト版)と〜W(ワイド文字版)という2種類の関数がある。
それを〜()という呼び出しで使えるように、そして簡単に切り替えられるように下のようなマクロを用意している。
#ifdef UNICODE
#define 〜W 〜
#else
#define 〜A 〜
#endif
W使用時にはワイド文字列(L"")を渡さないといけないが、A使用時には通常文字列("")を渡さないといけない。
なのでA/W切替と同時にワイド・マルチバイト文字列を切り替えるためのマクロとTCHAR型が用意されている。
#ifdef UNICODE
#define __T(x) L ## x
typedef wchar_t TCHAR;
#else
#define __T(x) x
typede char TCHAR;
#endif


878 名前:デフォルトの名無しさん :05/01/14 17:29:03
>>875
まあ、要するに_TはTCHARではない。
TCHAR文字列を定義するためのマクロ。
因みに_Tは_TEXTと同じ。
なぜマクロになっているかは>877が説明してくれている。


879 名前:デフォルトの名無しさん :05/01/14 17:52:40
おかげで貴重なマクロの名前空間が汚される

880 名前:デフォルトの名無しさん :05/01/14 17:59:17
>>879
まぁ、そういうな。
#undef で忍耐汁

881 名前:デフォルトの名無しさん :05/01/14 18:10:54
ありがとうございます
>>877 リテラル文字列をWin32で使用するときは"ほげ"ではなく_T("ほげ")とする
char もTCHARで宣言する
そうするとコンパイラが環境に応じてマルチバイト文字かワイド文字に変えてくれる
と理解しましたがよろしいですか?
ちなみにAPIの名前は、MessageBoxExAかMessageBoxExWかMessageBoxか名前的に
どれを使うか迷うのですがTCHARの考えでいくとMessageBoxExでよろしいでしょうか
>>878 わかりました
>>879 _をつけた変数が自由に定義でなくなる意味ですか?

882 名前:デフォルトの名無しさん :05/01/14 22:36:04
>857
この辺とか
ttp://www.asahi-net.or.jp/~kv8s-yjm/another/yja005.htm

883 名前:デフォルトの名無しさん :05/01/15 08:07:58
>>872
2chでそんな固いこと言うなよ

884 名前:デフォルトの名無しさん :05/01/15 09:08:54
Win32API質問箱 Build15
ttp://web.archive.org/web/20040101022937/http://pc2.2ch.net/test/read.cgi/tech/1069339866/

885 名前:デフォルトの名無しさん :05/01/15 09:28:30
>884
こういうのってどうすれば見れるの?

886 名前:デフォルトの名無しさん :05/01/15 09:34:15
>>861
遡っていったらありました。
ありかどうございました。

887 名前:デフォルトの名無しさん :05/01/15 09:48:32
http://web.archive.org/web/20040101022937/http://pc2.2ch.net/test/read.cgi/tech/1069339866/

888 名前:デフォルトの名無しさん :05/01/15 09:50:11
>887
これってブラクラ?

889 名前:デフォルトの名無しさん :05/01/15 09:52:00
ブラクラではないけど重いな。

890 名前:デフォルトの名無しさん :05/01/15 10:03:33
テキストで表示してみるとスレとスレの間の改行がなくなってる。
たぶんそれが重い原因

891 名前:デフォルトの名無しさん :05/01/15 10:04:31
シフトJISをUFT-8に変換するには、MultiByteToWideCharで良いのですかね?
色々と試してみたつもりなのですが、"あ"から 0xe38182 を得る事が出来ません。

892 名前:デフォルトの名無しさん :05/01/15 10:10:52
>>891
一旦MultiByteToWideCharでUTF-16へ変換してからWideCharToMultiByteでUTF-8に変換する必要がある。

893 名前:デフォルトの名無しさん :05/01/15 10:19:19
>>892
得られました。 どもです。

894 名前:デフォルトの名無しさん :05/01/15 13:49:47
UTF-7とUTF-8ってどう違うんでしょうか。

895 名前:デフォルトの名無しさん :05/01/15 14:26:20
>>894
UTF-7は7ビットの連なりで1文字を表す。
UTF-8は8ビットの連なりで1文字を表す。

896 名前:デフォルトの名無しさん :05/01/15 14:44:47
>895
いい加減なことを言うなw

897 名前:デフォルトの名無しさん :05/01/15 15:29:46
>894
UTF-7は上位1ビットが常に0だから、メールでも使える。
(b&0x80)==0.
7-bit cleannessだったかな

898 名前:デフォルトの名無しさん :05/01/15 17:57:44
>>895
7ビットの連なりで1文字ってことは、128種類しか
扱えないってこと?

899 名前:デフォルトの名無しさん :05/01/15 18:00:43
>897なマルチバイト文字列。

900 名前:デフォルトの名無しさん :05/01/15 18:01:32
>>899
てことは>>895はやっぱりウソってことですね。

901 名前:デフォルトの名無しさん :05/01/15 18:36:44
つかスレ違い

902 名前:895 :05/01/15 19:25:53
>>896-900
「7/8ビットのデータをいくつも使って1文字を表す」って言うつもりであういう風に書いたんだけど……。

903 名前:デフォルトの名無しさん :05/01/15 20:13:21
>>902
日本語は正確にな。

904 名前:デフォルトの名無しさん :05/01/15 20:18:20
読解力ないな、お前w

905 名前:デフォルトの名無しさん :05/01/15 20:19:40
>>904
文章力ないな、お前w

906 名前:デフォルトの名無しさん :05/01/15 20:22:26
>904
君は読解したんじゃなくて、知ってるからそう思えただけ。

907 名前:デフォルトの名無しさん :05/01/15 20:23:05
てか、904は902とは違う人だよね。

908 名前:デフォルトの名無しさん :05/01/15 20:24:11
だから?

909 名前:デフォルトの名無しさん :05/01/15 20:35:00
>908
別にー

910 名前:  :05/01/16 02:44:52
画像を描画した後に文字を描画したら
文字の背景部分は描画されずに画像が残る
という文字列表示の方法ってないですか?

911 名前:デフォルトの名無しさん :05/01/16 02:50:05
910>SetBkMode + TRANSPARENTでできたかな?

912 名前:デフォルトの名無しさん :05/01/16 02:56:09
だれか次スレッド立ててー

913 名前:デフォルトの名無しさん :05/01/16 03:01:36
EclipseでWin32API書けるプラグイン知らない?

914 名前:910 :05/01/16 03:10:46
>>911
できました

普通にあったんですね…調べがたりなかったです
ありがとうございました

915 名前:デフォルトの名無しさん :05/01/16 05:00:45
プッシュボタンを無効(灰色)にするメッセージ教えて頂けますでしょうか?
BM_SETSTYLEやBM_SETSTATEは違うみたいだし、BN_DISABLEは飛んでくる人みたいですし・・・

916 名前:デフォルトの名無しさん :05/01/16 05:54:10
>>915
EnableWindow(ボタンのハンドル, FALSE);

917 名前:デフォルトの名無しさん :05/01/16 06:56:52
>>912
早すぎて混乱するからまだいい。
次スレ立てる奴は、>>1に次スレ立てるときのルール書いてよ。
>>980以降で立候補してください。とか >>980の人が立ててください。とか。

918 名前:デフォルトの名無しさん :05/01/16 09:04:50
http://akky.cjb.net/download/clipy.html
http://www.umechando.com/software/#Copit

こういう「ウィンドウ上のコピーできない文字列をコピー」するのって
APIでできるんですか?
やりかたがあったら教えてください

919 名前:デフォルトの名無しさん :05/01/16 09:22:37
TextOutとかDrawTextをフックしてるのかと・・・
真実は俺もしりたいよ

920 名前:デフォルトの名無しさん :05/01/16 09:36:10
単純にWM_GETTEXTだろ

921 名前:デフォルトの名無しさん :05/01/16 09:44:33
この程度だったらWM_GETTEXTで出来るんじゃない
それ以外はAPIフックすんのかな? よく知らん

922 名前:デフォルトの名無しさん :05/01/16 09:48:39
マウスカーソルをブラウザとかワードとかの英単語の上に持っていくと、
ツールチップで日本語を表示してくれるソフトがあるんだけど、
どうやってマウスの下の文字を取得してるの?

923 名前:デフォルトの名無しさん :05/01/16 11:03:34
バビロンなら画像として取得してOCRで文字認識してるみたい。


924 名前:デフォルトの名無しさん :05/01/16 11:41:22
>>922
ワードなら何らかのインターフェイスを公開してそう。

925 名前:デフォルトの名無しさん :05/01/16 12:20:09
>>924
どの辺調べれば分かる?

926 名前:デフォルトの名無しさん :05/01/16 12:26:06
ノートPCの液晶のメーカ名を取り出すAPIなんてありますでしょうか。
MSDN を見ましたが、探し方が悪いのか、行き当たりません。

927 名前:デフォルトの名無しさん :05/01/16 12:31:10
>>926
その情報はどこに記録されているもの?

928 名前:デフォルトの名無しさん :05/01/16 13:05:30
>>927
うーん、説明書には書いてませんでした。

929 名前:デフォルトの名無しさん :05/01/16 13:09:18
>>928
いや、そういうこと聞いてるんじゃなくてさw
あなたのPCの中のどこに保存されている(例えばレジストリのここら辺とか
このファイルのここら辺とか)情報を取得しようとしているのですか?
ノートPCの液晶のメーカ名を取り出すための、あなたの構想を
聞いているのです。ゼロなら出直してください。

930 名前:デフォルトの名無しさん :05/01/16 13:15:12
>>929
いや、だからさあ、

> どこに保存されている(例えばレジストリのここら辺とか
> このファイルのここら辺とか)情報

これが何処にあんのか知りたいの!!

931 名前:デフォルトの名無しさん :05/01/16 13:19:15
>>930
違うでしょ。元々あなたが知りたかったのは、それが何処にあるのか
分からなくても情報を取得できるAPIだったはずです。
勝手に質問をすりかえないでください。

932 名前:デフォルトの名無しさん :05/01/16 13:19:56
>>930
変わってるじゃんw

933 名前:デフォルトの名無しさん :05/01/16 13:20:36
>>926にそう書いてある。
>>926は撤回して質問を再度投稿しますか?

934 名前:デフォルトの名無しさん :05/01/16 13:21:13
>>931
じゃあ訂正します。
ノートPCの液晶のメーカ名を取得するAPIか、
その情報の保存されている場所を教えて下さい。

935 名前:デフォルトの名無しさん :05/01/16 13:26:13
>>934
分かりません。

936 名前:デフォルトの名無しさん :05/01/16 13:27:41
>>934
ありません。

937 名前:デフォルトの名無しさん :05/01/16 13:28:54
>>935
わからないのなら、レスしないで下さい。

938 名前:デフォルトの名無しさん :05/01/16 13:30:12
>>937
頭が悪いのなら質問しないで下さい。

939 名前:デフォルトの名無しさん :05/01/16 13:31:39
>>936
なんでですか?
デバイスマネージャではきちんと表示されますよ。
記録されていない情報がデバイスマネージャに表示されるんですか?

940 名前:デフォルトの名無しさん :05/01/16 13:32:50
>>939
え?お前デバイスマネージャで表示されるって分かって質問してんの?
遊んでのかお前。レジストリ検索しろ。

941 名前:デフォルトの名無しさん :05/01/16 13:33:58
>>939
Windowsにできることは全てプログラマにもできるとでも
お思いですか?

942 名前:デフォルトの名無しさん :05/01/16 13:37:23
>>941
質問に対して質問を返さないで下さい。

943 名前:デフォルトの名無しさん :05/01/16 13:48:53
変な流れになってるな...

944 名前:デフォルトの名無しさん :05/01/16 13:56:35
>>942
>>940はどうだった?

945 名前:926 :05/01/16 15:12:16
違う人がなりすまして割り込んで展開が変になっている。びっくり。
私が、926 の質問者で、926 以来の書き込みです。補足致します。

API があるかないか、不確かです。デバイス・マネジャのリストでは
出て来ないような感触もあります。私の winXP のノートでは名前らし
いのは出ません。(win98 のデスクトップ機では、見えました。)

knoppix を起動すると、出てくるとかの話がありますが、3.2 の CD
で試したら、元々ないのか、Monitor is Generic ... しか出ません。
knoppix で出るなら、API があるだろうと想像しました。(Linux の
kernel 扱いでしょうから、BIOS 経由とかかも知れません。dual boot
で入れている Redhat9 では、設定したものしか見えませんでした。
  設定リストには、メーカ名のものがありますが、default で表示で
  きてしまったので、それが現れているのだろうと思っています。)

で、なんでメーカ名が分かりたいかというと、悲しくなるメーカと
喜ぶべき名前があると聞いたもので、どっちかなと気にしたのです。
分かっても、壊れるときは壊れると言われると、ま、それまでですが。

946 名前:デフォルトの名無しさん :05/01/16 15:14:54
質問者ではないが、検索したらDriverDescとかDeviceDescがひっかかったよ

947 名前:デフォルトの名無しさん :05/01/16 16:41:18
>945
レジストリの事ならwin98cdのリソースキットを見ろっーか、そんな事気にする暇があったら、GUIの組み立て方を勉強しろ。

948 名前:デフォルトの名無しさん :05/01/16 16:51:49
>>926
PC初心者板でも行って聞いてくれば?

949 名前:デフォルトの名無しさん :05/01/16 17:08:35
猫以外でIE風のメニューの作り方説明してるサイトない?
シェプロンはいらないから。猫って余計なソースとごちゃ混ぜにして
紹介してるから初心者にわかりにくいんだよね。猫でもわかるとか謳っておきながら
全然ほかのサイトの方がわかりやすいし

950 名前:デフォルトの名無しさん :05/01/16 17:49:05
>>949
CodeProject

951 名前:デフォルトの名無しさん :05/01/16 17:55:23
メニューって右クリックメニュー?

関係ないが、Wisdomのソースが激しく分かりやすいな(VC縛りも無いし)
ただ、いろんな言語やってるせいか、WIN32APIで載ってないのもあるから、知りたい情報が無かったりするんだよなぁ…

952 名前:926 :05/01/16 21:24:55
>>946
レス感謝。
レスを頼りに調べました。結果はスレ違いになるんで、簡単にしますが、
win98 レジストリには、HKEY_LOCAL_MACHINE\Enum\Monitor に載って
いますが、(私の)winXP には、このキーはありませんでした。
お騒がせ致しました。

953 名前:915 :05/01/16 21:36:46
>>916
サンクスコ

954 名前:デフォルトの名無しさん :05/01/16 23:48:52
WinAPIの本を買おうと思ってるのですが、お勧め有りますか?

955 名前:デフォルトの名無しさん :05/01/16 23:59:17
本なんかよりMSDNが一番おすすめ。

956 名前:デフォルトの名無しさん :05/01/16 23:59:35
>>954
ぺぞるどぼん

957 名前:デフォルトの名無しさん :05/01/17 00:27:51
MSDNってhttp://www.microsoft.com/japan/msdn/net/general/win32map.aspですか?

958 名前:デフォルトの名無しさん :05/01/17 00:43:43
>>957
そんなに細かいところを見なくてもここでよかろうて。
http://www.microsoft.com/japan/msdn/default.asp

959 名前:デフォルトの名無しさん :05/01/17 01:15:43
>>958
WinAPIについて書いてあるのは
http://www.microsoft.com/japan/msdn/net/general/win32map.asp
↑じゃないんですか?

960 名前:デフォルトの名無しさん :05/01/17 01:23:26
自分を起動した親のプロセス(起動パスとか)を知る方法ありますか?

961 名前:デフォルトの名無しさん :05/01/17 01:59:31
>>959
タイトルも読めないの?

962 名前:デフォルトの名無しさん :05/01/17 02:18:40
MSDN Library のトップは一応ここだけどさ。
http://www.microsoft.com/japan/msdn/library/

日本語版は著しく情報量が少ないんでやっぱここだよな。
http://msdn.microsoft.com/library/default.asp

左側の目次の「Win32 と COM 開発」(Win32 and COM Development)
がこのスレで扱っている Win32 API。


963 名前:デフォルトの名無しさん :05/01/17 02:21:54
MSDNってGoogleからsite:msdn.microsoft.comつきで引くもんだと思ってたが。

964 名前:デフォルトの名無しさん :05/01/17 08:55:11
これ使うのが一番いい気がするが

Platform SDK Update
http://www.microsoft.com/msdownload/platformsdk/sdkupdate/


965 名前:デフォルトの名無しさん :05/01/17 08:57:56
リストボックスの高さを変更すると、リスト内のアイテム単位で
伸び縮みするので位置がずれてしまいます。
指定サイズの大きさに揃える方法はないでしょうか?

966 名前:デフォルトの名無しさん :05/01/17 14:31:47
>965
スタイル設定で

967 名前:デフォルトの名無しさん :05/01/17 15:35:28
BIOS のmanufactureとかmodel情報とればいいんじゃないの


968 名前:デフォルトの名無しさん :05/01/17 22:14:54
tes

969 名前:デフォルトの名無しさん :05/01/18 02:34:59
リストビューでアイテムをダブルクリックしたときに
メッセージは飛んできますか?
飛んでくるならどんなメッセージか教えてください。

970 名前:デフォルトの名無しさん :05/01/18 09:07:54
NM_DBLCLK

971 名前:デフォルトの名無しさん :05/01/18 09:10:14
NM_RDBLCLK

972 名前:デフォルトの名無しさん :05/01/18 10:29:39
ChangeDisplaySetting 関数をBCCで使う方法を教えてください。


973 名前:デフォルトの名無しさん :05/01/18 10:44:27
>>972
むしろどうやったら使えないのかが不思議だ

974 名前:デフォルトの名無しさん :05/01/18 10:51:59
>>972
VCを買って下さい

975 名前:デフォルトの名無しさん :05/01/18 10:54:27
>>973
えと、画面の解像度を変えようとしているのですが
使ったら、成功のフラグは返ってくるのですが、
画面の解像度は変わっていなくて・・・。


976 名前:デフォルトの名無しさん :05/01/18 11:06:19
うちでは使えたのであなたを犯人です

977 名前:デフォルトの名無しさん :05/01/18 11:20:34
>>976
あほ

978 名前:デフォルトの名無しさん :05/01/18 11:22:16
>>975
GetLastError


979 名前:デフォルトの名無しさん :05/01/18 15:11:07
GetNullpoError

980 名前:デフォルトの名無しさん :05/01/18 16:02:01
SetGa

981 名前:969 :05/01/18 16:24:49
>>970-971 こんな感じで実現できました。どうもありがとうございました。

NMHDR* pNmhdr = NULL;

case WM_NOTIFY:
 pNmhdr = (LPNMHDR)lParam;
 switch(pNmhdr->code){
 case NM_DBLCLK:
  if(pNmhdr->idFrom == お目当てのリストビューのID){
   // 処理 //
  }
 }
 break;
 

982 名前:デフォルトの名無しさん :05/01/18 16:59:52
自分を起動した親のプロセス(起動パスとか)を知る方法ありますか?

983 名前:デフォルトの名無しさん :05/01/18 17:08:04
>982
Platform SDKのサンプル、tlist
と<tlhelp32.h>を見よ

984 名前:デフォルトの名無しさん :05/01/18 19:05:11
自分のプログラムに対するOpenProcessを禁止するときは
どうしたらいいんでしょうか?
OpenProcessTokenで設定を変えるとかでしょうか?


985 名前:デフォルトの名無しさん :05/01/18 19:34:45
次スレは?

986 名前:デフォルトの名無しさん :05/01/18 19:44:57
CreateThread

987 名前:デフォルトの名無しさん :05/01/18 22:19:53
漢字変換。
普通に、メモ帳で漢字変換して、そこからいきなり次の文字を打つと、
自動的に変換が確定される。
 ところが、自分でIMEのメッセージを受け取って漢字変換やると、
漢字変換しておいて、そこからいきなり次の文字を打つと、
変換しておいた漢字が消えてしまう。
これを、普通にメモ帳で漢字変換してたようにするには、どうしたらいいですか?

988 名前:デフォルトの名無しさん :05/01/18 22:31:09
>>983
サンプルソース落として見てみましたが、
なんとなく難しそうだということだけはわかりました。
セキュリティが関係するならお手上げです。

989 名前:デフォルトの名無しさん :05/01/18 22:33:58
>>986
マジで頭いいな

990 名前:デフォルトの名無しさん :05/01/18 22:38:45
>987
「受け取った後、次のプロシージャに渡さずにメッセージを捨てたので。」(32字)

991 名前:デフォルトの名無しさん :05/01/18 22:54:03
Ruby(VisualuRuby)を使っているので
どう質問していいかよくわからないのですが

InternetExplorerとか使ってると、
文章のところをダブルクリックすると、
英単語なら、一単語分、日本語でも、適当に選択してくれますよね。
その選択した単語を得たいのですが、
あの機能を使うには、どうしたらいいのでしょうか?
関数の名前とか、そういうのを教えてもらえませんか?


992 名前:デフォルトの名無しさん :05/01/18 23:04:00
>991
GetStringTypeExで文字種調べて味噌

993 名前:デフォルトの名無しさん :05/01/18 23:16:48
993 get

994 名前:デフォルトの名無しさん :05/01/18 23:42:46
>990
調べてやってみる。上手く以下中ttららまたきく

995 名前:デフォルトの名無しさん :05/01/19 04:11:16
ダイアログを作って
そこに256色のパレットを色で表示させて
クリックで選択できるようにしたいのですが
どのように実現させるのが定石でしょうか?

996 名前:デフォルトの名無しさん :05/01/19 04:29:27
お知恵をお貸しください。
ChooseFont関数とCreateFontIndirect関数を利用して
エディットボックスのフォントを変更しました。
すると高さが足りていないためフォントが切れてしまいました。
そこでエディットボックスのサイズを変更したいのですが
フォントの高さを求める方法が解りません。
どうすればいいのでしょうか?

997 名前:デフォルトの名無しさん :05/01/19 07:29:54
>995
ChooseColor APIか、STATICのオーナードローを使う
>996
GetWindowRect,
SetWindowRect,
GetSystemMetric#SM_BORDER,
GetTextExtent32,GetTextMetricsを見よ。

998 名前:996 :05/01/19 08:04:15
>>997
ありがとう。
調べてみます。

999 名前:デフォルトの名無しさん :05/01/19 08:33:44
ReadFileの1行読み込み版は無いですか?

1000 名前:デフォルトの名無しさん :05/01/19 08:46:43
1000


■過去ログ置き場に戻る■ 1- 前250 次250 最新50
DAT2HTML 0.33f Converted.