VCウィンドウのサイズを調整するために自由を達成

http://www.codeproject.com/KB/dialog/resizabledialog.aspx

http://blog.csdn.net/yanghao58686763/archive/2007/11/11/1879090.aspx

 

 新しい1:一般的に使用されるSQL文の蓄積機能StorePage(){D =ドキュメント; T = d.selection(d.selection.type = 'なし' d.selection.createRange()テキスト: ''!?。):? (d.getSelection d.getSelection():? '');無効(keyit = window.open( 'http://www.365key.com/storeit.aspx?t='+escape(d.title)+'左&U = '+エスケープ(d.location.href)+' &C = '+エスケープ(t)は、' keyit '' スクロールバー=なし、幅= 475、高さ= 575、= 75、トップ= 20、ステータス=いいえ、サイズ変更可能= YES')); keyit.focus();}英語で特定Easysizeコードと詳細な説明の使用に基づいて、この章のショーをEasysize、我々は、命令の後に、本明細書主な詳細については、こちらを見ることができます1調節可能なフレームはプロパティダイアログボックスのサイズ2に設けられ、メインフォームはEasySize.hのCPPの#include追加され、元のSTDAFX.H 3、メインフォームクラスの定義に従った方法に加えてもよいですCEasySizeDemoDlg:公共のCDialog {// DECLARE_EASYSIZEこの追加され、追加した場合、コンパイルエラー、ステップ2を参照してください。図4に示すように、メインフォームBOOL CEasySizeDemoDlg ::のOnInitDialog(){CDialogの::のOnInitDialog()のメッセージのOnInitDialog関数; ... INIT_EASYSIZE; // TRUEリターンを追加します。//もしコントロール} 5にフォーカスを設定しない限りTRUEを返し、オーバーロードメッセージWM_SIZEメッセージ機能ボイドCEasySizeDemoDlg :: OnSize関数(UINT n型、INT CX、CY INT){CDialogの:: OnSize関数(n型、CX、CY); UPDATE_EASYSIZE ;あなたはonsizingメッセージが少ないそれはそうよりもすることはできませんオーバーライドできるメッセージの最小数は、クラスウィザードに直接追加することはできないときに最大数は、調整のサイズを超えることはできません制限する場合} //このウィンドウ6を追加し、実際には、それが可能です。もちろん、あなたがそれを面倒を見つけた場合、1を行うには、次のとおりです。直接は見つかり:ON_WM_SIZE()を、下記(このON_WM_SIZINGを追加する)、次にを見て:(UINT n型、int型CX、int型CY)AFX_MSG無効OnSize関数;その後、次のように追加しますこのAFX_MSG無効OnSizing(UINT fwSide、LPRECT pRect);その後、イベントハンドラを追加:無効CEasySizeDemoDlg :: OnSizing(UINT fwSide、LPRECT pRect){CDialogの:: OnSizing(fwSide、pRectを); EASYSIZE_MINSIZE(280250、fwSide、pRect) ;あなたは最大サイズの機能がEASYSIZE_MINSIZE書き込みの方法上限をモデルに、EasySize.hを変更することができますしたい場合は// 280250 //は、最小サイズです。}もちろん、あなたもやってクラスウィザードを使用することができます。クラスウィザード - > CLASSINFO(クラス情報) - > Messagefilter-> Windowsのさて、あなたは内側にあり、必要WM_SIZINGされていないメッセージのメッセージマップを見に戻って中に入ると、^ _ ^!フォームのサイズが変更されたとき7は、最終的には位置制御のサイズを調整する必要があるごとに、メッセージマップBEGIN_EASYSIZE_MAP(あなたのメインダイアログ名)//ここメインフォームのクラス名を変更するには、ここで追加@ ...ハンドラEASYSIZE(コントロールを追加します書き込み制御ID番号//左、左、上、右、下、オプション)//コントロール:あなたはせずに、ここで、同じサイズのままにしたい場合は、ES_BORDERを書くことができます左のメインウィンドウでの固定位置を維持したい場合ES_VCENTER、特別な書き込み0 |あなたはスペースの左側に他をしたい場合は、特別な治療、書き込みES_KEEPSIZEは、制御//トップの参照ID番号として書き込むことができ、右、下同上//オプションはES_HCENTERとして水平方向と垂直方向のセンタリング効果を制御します。英語狂気は、ああ、今恐れてはいけないことを確認するために私のような..END_EASYSIZE_MAP推定多くの人々、:特定EASYSIZE(コントロール、左、上、右、下、オプション)使用量:ダイアログコントロールIDにコントロール値は、左、上、右、下、4つの制御パラメータは、1 ES_BOARD、ES_KEEPSIZE、3つの制御ID値を選択することができる値を座標位置。オプションES_HCENTER組み合わせることができる、オプションのES_VCENTERは0に設定することができます。ES_BOARD距離とコントロールボックスの境界(以下境界と呼ぶ)を表し; ES_KEEPSIZEは、コントロールのサイズを表し、水平/垂直方向は変わらない;対照IDは、指定されたコントロールと電流値制御との間の距離を表し、指定された場所でES_HCENTER後部ズームコントロール水平中心; ES_VCENTER制御が指定されスケーリングされた垂直位置に中心がある;例えば:EASYSIZE(IDOK、ES_BORDER、ES_BORDER、ES_BORDER、ES_BORDER、EASYSIZE(IDOK、ES_BORDER、ES_BORDER、ES_BORDER、ES_BORDER、ES_HCENTER)はIDOKのスケーリングされた値を表し、0)延伸境界位置を上下、水平方向および垂直方向のサイズから変更されないまま、制御IDOKのスケーリングされた値を表します。コントロール、境界垂直位置、垂直サイズの図面、中間レベルから変化しないままで、EASYSIZE(IDOK、ES_BORDER、ES_BORDER、ES_BORDER、ES_BORDER、ES_HCENTER | ES_HCENTER)は、制御IDOKのスケーリングされた値を表し、ダイアログボックス、垂直水平方向の中心を中心とする、EASYSIZE(IDOK、ES_BORDER、ES_KEEPSIZE、ES_KEEPSIZE、ES_BORDER、0)が左境界から、制御IDOKのスケーリングされた値を表すコントロールのサイズを維持しながら、より低い位置は、変わらない。EASYSIZE(IDOK、ES_BORDER 、ES_KEEPSIZE、ES_BORDER、ES_BORDER、0)は水平サイズ延伸、縦サイズ変わらず、境界から変化しないが、右、下の位置を残したまま、制御IDOKのスケーリングされた値を表す。EASYSIZE(IDOK、ES_BORDER、ES_BORDER後に、IDCANCEL、ES_BORDER、0)は左の位置下の境界から変化しないままで、スケーリングされた値IDOKコントロールを表します。位置からIDCANCEL右方向延伸水平および垂直サイズのID値から変わらない;(マクロの前に指定された制御EASYSIZEことを保証するために、位置決め制御パラメータ指定された時間として使用される場合)

公開された30元の記事 ウォンの賞賛2 ビュー50000 +

おすすめ

転載: blog.csdn.net/khzide/article/details/2425795