Win32API 質問箱 Build5
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNGやさしいお兄さんたちが答えてくれるかも。
でも、最低限Web検索ぐらいはしてね。
前スレ
Win32API 質問箱
http://pc.2ch.net/tech/kako/991/991576947.html
Win32API【2】
http://pc.2ch.net/tech/kako/1006/10067/1006783012.html
Win32API 質問箱 Build3
http://pc.2ch.net/tech/kako/1006/10067/1006783012.html
Win32API 質問箱 Build4
http://pc3.2ch.net/test/read.cgi/tech/1023361418/
参考
MSDN Online
http://www.microsoft.com/japan/msdn/default.asp
猫でもわかるプログラミング
ttp://www.kumei.ne.jp/c_lang/index.html
0348デフォルトの名無しさん
NGNG0349デフォルトの名無しさん
NGNGマザーに直付けのちっこいブザーやら、リード線引いてきてちゃちいスピーカーを付けるパターンやらがあるから
とりあえずマザーと書いたんだが。
イメージ的にはあってると思うが、通じないかい?
漏れだけしか通じない罠なら逝ってきます。
0350デフォルトの名無しさん
NGNG0351デフォルトの名無しさん
NGNGHDC hdc2 = ::CreateDC(NULL, printernames[target], NULL, NULL);
DEVMODE dmMode = {0};
dmMode.dmSpecVersion = DM_SPECVERSION;
dmMode.dmSize = sizeof(DEVMODE);
dmMode.dmFields = (DM_PAPERSIZE | DM_ORIENTATION);
dmMode.dmPaperSize = DMPAPER_B5;
dmMode.dmOrientation = DMORIENT_PORTRAIT;
hdc = ResetDC(hdc2, &dmMode);
プリンタにB5横しか入ってないと、プリンタに「A4入れろやゴルァ」と出るんです。
90度傾けて印刷させるにはどうアプローチすればいいですか?
0352デフォルトの名無しさん
NGNGプリンタのプロパティで縦方向印刷に設定しる!
0353デフォルトの名無しさん
NGNGうーん確かにそれだと出るんですが・・・・
ユーザに設定させたり保存させたくないんですよぉ
0354デフォルトの名無しさん
NGNG正解!ダトオモウ...
>>328
各コントロールをサブクラス化してWM_MOUSEMOVEを引っかける
のが妥当かな。
どっちも地震無し。
0355デフォルトの名無しさん
NGNG用紙横=GetDeviceCaps(hdc2,VERTSIZE) * 100;
if(縦横のサイズ != B5サイズ){
MessageBox(hWnd,"B5にしてね(ハァト",NULL,MB_OK);
exit(1);
}
0356デフォルトの名無しさん
NGNGDEVMODEがどう変わるか調べて、
それに合わせてソースを書く(w
0357デフォルトの名無しさん
NGNG英語版には縦書きという概念がないから日本語化のとき
先頭に@があるかないかをフラグ代わりにしたの
>>328
WM_SETCURSORという専用のメッセージがあるからそっち使え
こんな感じか?
PRINTER_INFO_2 *GetDefaultDevMode(LPTSTR name){
PRINTER_INFO_2 *pinfo2 = NULL;
HANDLE hPrinter;
if (OpenPrinter(name, &hPrinter, NULL)){
DWORD size;
GetPrinter(hPrinter, 2, NULL, 0, &size);
if (GetLastError() == ERROR_INSUFFICIENT_BUFFER){
pinfo2 = (PRINTER_INFO_2 *)malloc(size);
if (!GetPrinter(hPrinter, 2, (LPBYTE)pinfo2, size, &size)){
free(pinfo2);
pinfo2 = NULL;
}
}
ClosePrinter(hPrinter);
}
return pinfo2;
}
HDC CreatePrinterDC(LPTSTR name){
PRINTER_INFO_2 *pinfo2;
HDC hdc;
pinfo2 = GetDefaultDevMode(name);
if (!pinfo2)
return NULL;
pinfo2->pDevMode->dmFields |= DM_PAPERSIZE | DM_ORIENTATION;
pinfo2->pDevMode->dmPaperSize = DMPAPER_B5;
pinfo2->pDevMode->dmOrientation = DMORIENT_PORTRAIT;
hdc = CreateDC(pinfo2->pDriverName, pinfo2->pPrinterName, NULL, pinfo2->pDevMode);
free(pinfo2);
return hdc;
}
0359デフォルトの名無しさん
NGNGキャンセルを検知するのは、どーすんでしょうか?
0360デフォルトの名無しさん
NGNGフックすれば?
0361デフォルトの名無しさん
NGNGですね。
03623ヶ月目
NGNGMFCのときはCFileFindクラスを使いますか?
サンプル等探してもCFileFindクラスを使用した例があまり見当たりません。
使い勝手等何か問題あるのでしょうか?
0363286
NGNG普通に便利だな、と思った。
0364デフォルトの名無しさん
NGNG0365デフォルトの名無しさん
NGNG0366デフォルトの名無しさん
NGNGありがとう!
0367デフォルトの名無しさん
NGNGなんだか危険な感じがしないでもない。
0368デフォルトの名無しさん
NGNG0369デフォルトの名無しさん
NGNG右クリック->プロパティ->バージョン情報
で出てくる情報を得たいんですけど、教えてください。
0370デフォルトの名無しさん
NGNGSDKだろうがMFCだろうがATLだろうが、ディレクトリ操作はSHFileOperation()
0373362
NGNG検索してみたんですが、
SP1だと複数のファイルを指定すると失敗するらしいです。
0374362
NGNG0376デフォルトの名無しさん
NGNGGetFileVersionInfoだったっけ
こんなわかりやすいAPI名で人に聞くとはお前PG向いてないよ。田舎帰れ
0377デフォルトの名無しさん
NGNGツールバーやリストボックスなどのコモンコントロールで、
背景に画像を設定するにはどうしたらいいですか?
検索しても背景色がせいぜいだったので教えていただけないでしょうか。
0378デフォルトの名無しさん
NGNGコモンコントロール・・・
それ、VB板で聞いたら?
0379デフォルトの名無しさん
NGNGVBスレね。
0380デフォルトの名無しさん
NGNGなんでVBなの?
0381デフォルトの名無しさん
NGNG378 が何か勘違いしてるんだろ。放置しといてやれよ。
0382デフォルトの名無しさん
NGNGCreateDC に DEVMODE 構造体を渡す前に (>>351 さんは代わりに ResetDC を
使ってるけど) DocumentProperties() を呼ばなくてもよいんですっけ。
DocumentProperties(NULL, hPrinter, pszPrinterName,
pDevMode, pDevMode,
DM_IN_BUFFER | DM_OUT_BUFFER);
みたいな感じ。
私が試している限り、あってもなくても関係なさそうだったんだけど
なんだか「偶然動いてるだけ」な感じがして気持ち悪いです。
MSDN によると「現在の設定を使うならこの DocumentProperties は不要」と
読めるんですよね。ここでもう混乱っす。
文書やネット上のサンプルコードや私が試した事をまとめるとこんな感じなんだけど:
上のようにして DocumentProperties を呼ぶと、"非"一時的に設定を変更
しちゃう。すなわち、次にアプリケーションを起動して DEVMODE を
取得してみると、前回 DocumentProperties で設定したモノが取得できる。
ていう解釈でよいと思いますか?
0383デフォルトの名無しさん
NGNG子ウインドウを作ると、その子ウインドウのほうが
アクティブになると思うのですが、
親ウインドウの方をアクティブにし続けるにはどうすればよいでしょうか?
今は、子ウインドウを作ったあとにSetActiveWindow関数を呼んで
親ウインドウに戻しています。
また、終了するまでアクティブでい続けるような
ウインドウを作ることはできるでしょうか。
誰かよろしくお願いします。
0384デフォルトの名無しさん
NGNG使いたくねー、こんなアプリ
0385デフォルトの名無しさん
NGNGアクティブでなくなったら終了する
0386デフォルトの名無しさん
NGNGいや、別にみんなに配るようなアプリを作っているわけじゃなくて
自分で使うのに、アクティブで無くなると困るって言うだけなんですが。
0387デフォルトの名無しさん
NGNG0388デフォルトの名無しさん
NGNG高速な描画、表示が条件なんですが、どのような方法がベストなんでしょう結局。
まず、バックバッファ相当のモノについて、
1.DIBSectionを使う
2.ただのメモリブロックを使う
3.DirectDrawSurfaceを使う(システムメモリ上??)
で、フレームバッファへの転送なんすけど、
1.Blt
2.アドレス拾ってmemcpy
とか考えられるんだけど、いったいどうすりゃストレスない描画ってできるんでしょう?
例えばフォトショップとかmameとか、ああいったのはどういった方法で実現してるんでしょうか?
0389デフォルトの名無しさん
NGNG>フォトショップとかmameとか
同列で語って良いのか・・・?
0390デフォルトの名無しさん
NGNGどちらにせよGDIとか使わずに表示まで持っていってますよね?
で、どちらも膨大なリソースを表示しているって意味では
まともにグラフィック処理してるって思うんですよ。
その方法は全然違うんだろうけど・・・
0391デフォルトの名無しさん
NGNG>どちらにせよGDIとか使わずに表示まで持っていってますよね?
マジで?
0392デフォルトの名無しさん
NGNG違うの??よく知らないんだけど。
つーか普通にDIBとかからBlt、StretchBltとかって全然重いと思うんです。
mameの60fpsとかって全然無理なレベルぐらい重いんだけど・・・
画面モードとかによるのかな?
0393デフォルトの名無しさん
NGNG君、DirectXとかその辺の基本理解してからしゃべってる?
0394デフォルトの名無しさん
NGNGあんまり。基本っつーと、どんなことかな?
0395デフォルトの名無しさん
NGNGハードウェアが「どんな操作を」支援してくれるのか、じゃないの?
0396デフォルトの名無しさん
NGNGMSDNのサンプルを見るとスレッドを使っているみたいです。
WinSock ではスレッドを使わずにできたような気がするんですが、
Wininet ではスレッドを使わない非同期通信はできるんでしょうか。
0397デフォルトの名無しさん
NGNGDelphiで作った2chブラウザでも見かけるけど・・・。
結局どうやったらできるのかな?
0398デフォルトの名無しさん
NGNGほんとにMSDN調べた?
http://msdn.microsoft.com/library/default.asp?url=/workshop/networking/wininet/tutorials/implement_async.asp
0399396
NGNG// Create a thread to handle the header and
// resource download.
cpContext->hThread = CreateThread(NULL, 0,
(LPTHREAD_START_ROUTINE)Threader,LPVOID(cpContext),
0,&cpContext->dwThreadID);
このぶぶんでThreadを作っているけど、これをやらないではできないのかという話です。
0400デフォルトの名無しさん
NGNGツールバーの場合はRebarをつかって背景画像をセットしてると思う。
0401デフォルトの名無しさん
NGNGhttp://www.codeproject.com/useritems/asyncwininet.asp
0402デフォルトの名無しさん
NGNG0403デフォルトの名無しさん
NGNGおれはGetACP() == _KANJI_CPで判定しているが、もっとうまい方法があれば、知りたい。
しかし、マルチリンガル版も視野に入れたら、GetACPしか無いような気もするんだが。
0404デフォルトの名無しさん
NGNGGetOEMCP()は?
0405デフォルトの名無しさん
NGNG0406デフォルトの名無しさん
NGNGよさげ。
0407396
NGNGふむ、ためしてみます。
0408デフォルトの名無しさん
NGNG常にGetModuleHandle(NULL)使ったらまずい?
効率を考えなければ特に問題はない。
0410デフォルトの名無しさん
NGNGありがとう
0411デフォルトの名無しさん
NGNG特に無断転載する輩の多い韓国版では動かなくしたいんですけど。
0412デフォルトの名無しさん
NGNGDLLなら保存しないとダメれすよ
0413377
NGNG試してみます。
0414デフォルトの名無しさん
NGNGそのOCXでエラーが発生した場合、VB側のOn Errorでそのエラーを捕まえたいんです。
その場合、OCX側でどのようなコードを書けば良いのでしょうか?
0415デフォルトの名無しさん
NGNGthrows Throuwable
0416デフォルトの名無しさん
NGNGCOMの偉い人がいってますた。
0417414
NGNGVB側のOnErrorで取れました。
が、
>416サソの「COMの境界を〜」って、如何いう意味なんですか?
いまいち意味が判らんのですが...出来ましたら、解説をお願いします。
0418デフォルトの名無しさん
NGNGライセンスを日本海ウェアか竹島ウェアに変更しる。
if(IDNO==MessageBox(,"竹島は日本の領土?",,MB_YESNO)) exit(-1);
0419デフォルトの名無しさん
NGNGくそMFCだとそのあたりが隠蔽されているから、わからないと思われ。
つーか、S_OKとS_FALSE以外のHRESULT直接返せ。
0420デフォルトの名無しさん
NGNGちょっと前にロケール識別子でFA出てる。
レジストリ変えられたらおしまいだから、色々複合してみるのもいいかもしれん。
0421デフォルトの名無しさん
NGNG0422デフォルトの名無しさん
NGNG話の流れからして Final Answer かな。
しかしFAなんて略すなや。
0423デフォルトの名無しさん
NGNG0424デフォルトの名無しさん
NGNGどうやればいいのか教えてください。
現在、セパレータの幅を指定して挿入しているのですが、
フラットスタイルにすると真ん中に縦線がに入ってしまい、
上下に線が見えてしまいます。
コンボボックスを大きくすれば解決するのですが、
見栄えが悪くなるのでどうしたらいいか悩んでいます。
バイナリエディタのBzが綺麗にやっているのですが、
どうやったら良いのでしょうか。
0425デフォルトの名無しさん
NGNG0426421
NGNG0427デフォルトの名無しさん
NGNG一行ずつ読みたいのですがみなさんどうやっていますか?
一行ずつ読むAPIはありませんよね?というわけで
1.Cライブラリ関数を使う
2.ReadFileで全部メモリに読んでから一行ずつ抜く
3.ReadFileで一文字ずつ読んで改行を見つける
のどれかになるのかなと思ったのですが、ライブラリ関数は使いたくない
ということと、3.では遅くなるということを考えた場合、2しかないですか?
0428デフォルトの名無しさん
NGNG2.5 ReadFileで少しずつ読んで改行までを使う
っていうかどうしてライブラリが使いたくない?
0429デフォルトの名無しさん
NGNGなぜfgetsを使いたくない?
0430デフォルトの名無しさん
NGNG一行の長さがわかんないんで。。。
0431デフォルトの名無しさん
NGNG分からないんなら、どこのメモリに読み込むの?
0432デフォルトの名無しさん
NGNGファイルサイズ分バッファを獲得してもいいけど、無駄といえば無駄だから。
0433デフォルトの名無しさん
NGNGPerl使え。
0434デフォルトの名無しさん
NGNGSetDIBitsToDeviceでJPEGをディスプレイに表示させようと思っています。
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/gdi/bitmaps_6145.asp
↑を参考に書いてみましたが、描画されませんでした。
自力でJPEG展開は出来ましたが、気になって仕方がありません。
どなたかご存知の方、手順を教えてください。
0435434
NGNG0436デフォルトの名無しさん
NGNG出来ないのならあんたに問題有り
0437デフォルトの名無しさん
NGNGそれなら不可能。プリンタのDCへStretchDIBits汁
0438壁紙がかわらん
NGNG#include "stdafx.h"
int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow )
{
SystemParametersInfo( SPI_SETDESKWALLPAPER, 0, "C:\\sample.bmp", SPIF_UPDATEINIFILE | SPIF_SENDWININICHANGE );
return 0;
}
全く変化しません.(?_?) win98se + VC6
0439デフォルトの名無しさん
NGNGこれが読めなくて
そろそろ一年。。
これはなんと発音すればいいのでしょう?
デルピ??
0440439
NGNGすみません、すれ違いとは思ったのですが、
どこで聞いてもすれ違いっぽいので書き込みました。
申し訳ない。
0441デフォルトの名無しさん
NGNG0442439
NGNGおかげ様で人前で
「でるぴ」
などと発言し、恥をかかなくてすみました。
ありがとうございます。
0443デフォルトの名無しさん
NGNG0444439
NGNGそうなんですか、
とりあえず
「でるふぃ」でいきますねw
ありがとうございました。
0446439
NGNGあっ。。
デルファイ
って書いてあるw
情報ありがとうございます。
でも自分で言うのもなんですが、
低レベルな質問ですねぇ。
0447デフォルトの名無しさん
NGNGディスプレイには使えないのですか?
言われてみると、そんな気もします・・・。
サンクス。
0448デフォルトの名無しさん
NGNGそのあとさらにSetWindowRgnであっさり新しいリージョンに置き換わると思ったら
置き換わらないYO!
これってウィンドウ破棄してリージョンセットしなきゃ無理でつかね?
■ このスレッドは過去ログ倉庫に格納されています