vb6 の内部フォームのサイズを変更することは可能ですか? ウィンドウの境界線の高さと幅を使用する場合、Form1.Height
またはForm1.Width
ウィンドウの境界線の高さと幅を含める場合、このコードを 1 つのウィンドウ テーマで使用できます (たとえば、XP テーマを使用する WinXP で最適に動作しますが、WinXP では動作しません)。クラシック テーマでは、表示が長すぎます)、何か提案はありますか?
1416 次
1 に答える
4
できることは、Width (外側のサイズ) を ScaleWidth (内側のサイズ) と比較して、非クライアント境界のサイズを取得することです。同様に、Height を ScaleHeight と比較して、上部と下部の非クライアント サイズを取得できます。そこから、必要な内側 (クライアント領域) のサイズと非クライアントのサイズに基づいて、最終的な高さと幅を設定できます。
このようなものがあなたの中に入る可能性がありますForm_Load
:
Const DesiredClientHeight as Single = 3435
Const DesiredClientWidth as Single = 3345
Dim fNonClientHoriz As Single, fNonClientVert As Single
fNonClientHoriz = Me.Width - Me.ScaleWidth
fNonClientVert = Me.Height- Me.ScaleHeight
Me.Width = DesiredClientWidth + fNonClientHoriz
Me.Height = DesiredClientHeight + fNonClientVert
フォームの幅と高さは常に Twips 単位であることに注意してください。そのため、スケール モードを twip 以外に変更する場合は、それを考慮する必要があります。
于 2012-12-07T14:19:37.017 に答える