ウィンドウのサイズ、開いているブラウザのうち、画面サイズや画面解像度などに基づいて表示されます。これを回避してウィンドウを任意の高さにする方法はありますか?Windowsのプログラムウィンドウのサイズを任意に大きくすることはできますか?
3
A
答えて
1
自分のアプリケーションについて話している場合、おそらくGDIサイジングに使用される16ビットの座標までレンダリングできます。 WM_GETMINMAXINFOなどに適切に応答します。
他人のことを話している場合、自分のペイントを目に見えるものにクリップするのが賢明であるため、画面よりも大きくレンダリングするという約束はなく、他の要因(たとえばDirectXサーフェスのサイズはGDI制限よりも小さい)。
あなたが掻き分けている場合は、MSAAまたはUIAを使用してウィンドウを外部から操作してテキストを取得する方がよいでしょう。
マーティン
2
はいあります。 WM_GETMINMAXINFOを上書きする必要があります。あなたのフックプロシージャでは、最大のx/yを設定することができます。
MINMAXINFO* pmmi = (MINMAXINFO*)lParam;
pmmi->ptMaxTrackSize.x = desiredY;
pmmi->ptMaxTrackSize.y = desiredX;
あなたはWH_GETMESSAGEでは、SetWindowsHookEx()を使用することができ、別のプロセスでこれを行うには。
2
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
$hGUI = GUICreate("", 250, 100, -1, -1, BitOR($GUI_SS_DEFAULT_GUI, $WS_THICKFRAME))
GUICtrlCreateLabel("", 0, 0, 250, 100, -1, $GUI_WS_EX_PARENTDRAG)
GUISetState(@SW_SHOW)
GUIRegisterMsg($WM_GETMINMAXINFO, "WM_GETMINMAXINFO")
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
GUIRegisterMsg($WM_GETMINMAXINFO, "")
Exit
EndSwitch
WEnd
Func WM_GETMINMAXINFO($hWnd, $Msg, $wParam, $lParam)
#forceref $hWnd, $Msg, $wParam, $lParam
Local $minmaxinfo = DllStructCreate("int;int;int;int;int;int;int;int;int;int", $lParam)
DllStructSetData($minmaxinfo, 7, 250) ; min width
DllStructSetData($minmaxinfo, 8, 100) ; min height
DllStructSetData($minmaxinfo, 9, 3000) ; max width
DllStructSetData($minmaxinfo, 10, 3000) ; max height
Return "GUI_RUNDEFMSG"
EndFunc ;==>WM_GETMINMAXINFO
1
は(部分的に)自分の質問にお答えします。私自身のWinFormsアプリケーションの特定のケースでは、Form.MaximumSizeを十分大きな値に設定してからForm.ClientSizeを増やすだけです。私はこのMaximumSizeプロパティは、他の答えに記載されているWM_GETMINMAXINFOフックの周りのラッパーであると思います。
関連する問題
- 1. Rバロットのバウンディングボックスのサイズを大きくすることはできますか?
- 2. Eclipseのエラーログのサイズを大きくすることはできますか?
- 3. Windowsの任意のメモリアドレスに書き込むことは可能ですか?
- 4. .dir-locals.elに任意のelispコードを置くことはできますか?
- 5. ファイルごとに任意のファイルをコピーすることはできますか?
- 6. iOS通知 - オブジェクトパラメータを任意のオブジェクトにすることはできますか?
- 7. ObjectifiedElementインスタンスに任意のデータを追加することはできますか?
- 8. イメージを任意の色で分けることはできますか?
- 9. Azure検索 - 最大サイズ - 任意のオプション?
- 10. フォームはサイズを大きくしたり、大きなサイズにドラッグすることはできますが、サイズを小さくしたり、小さいサイズにドラッグすることはできません。
- 11. どのようにフォルダサイズをディスクのサイズより大きくすることができますか?
- 12. GLSLは任意の長さのバッファを扱うことができますか?
- 13. ボタンをクリックしたときにxibビューのサイズを大きくすることができません。
- 14. Tkinterには:ボタンのサイズを大きくすることなく、ボタンのテキストを拡大する方法を
- 15. どのように私はcspをcolspan =任意の奇数で置くことができますか?
- 16. 任意のデータベースファイルから読み込むことはできますか?
- 17. 任意の言語のWindowsで任意のバージョンのWindowsにファイルを書き込むユニバーサルロケーション
- 18. 任意のWindows端末のカラーパレットをpdcursesで編集できますか?
- 19. sc_fifo_outのサイズを大きくする
- 20. divボタンのサイズを大きくする
- 21. TabWidgetのサイズを大きくする
- 22. ブートストラップのサイズを大きくするR
- 23. CSS - カードボックスのサイズを大きくする
- 24. グラフのサイズを大きくする
- 25. Rのfor-loopでイテレータのサイズを大きくするには?
- 26. は、ドッキングウィンドウコンテナのサイズを大きくすることはできません - Ubuntuの16.04
- 27. 内容に応じてビューのサイズを大きくすることはできません。
- 28. Windows Azure Tablestorage行の任意の属性をクエリできますか?
- 29. 任意のタイプのオブジェクトを宣言することができます#
- 30. 何かとプレイリストにワイルドカードを使用することができます(または任意の回避策)?
Martyn、 "MSAAまたはUIA"のビットを詳しく教えてください。元の問題は今のところ解決されているようですが、ここで私と他の読者の両方にとって「知識は良い」です:) – EndangeringSpecies
MSAA(古い)とUIA(新しい)は、アクセシビリティツール(スクリーンリーダーなど)のためにWindowsによって提供される2つのアクセシビリティAPIです。 )を使用して、画面上のUIを取得して変更します。これは、テスト、スクリーンスクレイピングなどのような他のものにとって非常に便利です。MSDNでは、hwnd UIのすべてがWM_GETOBJECTで始まるため、これらはよく文書化されています。 –