ÊÖ»úÕ¾
ÍøÍ¨·ÖÕ¾
µçÐÅÖ÷Õ¾
ÃÜ¡¡Âë:
Óû§Ãû£º
µ±Ç°Î»Öà : Ö÷Ò³>³ÌÐòÉè¼Æ>C/C++>Áбí

VCÖÐ×Ô¶¯¸Ä±ä¿Ø¼þλÖúʹóСµÄ¶Ô»°¿òÀà

À´Ô´£º»¥ÁªÍø ×÷ÕߣºÎ÷²¿ÊýÂë ʱ¼ä£º2008-04-09
Î÷²¿ÊýÂë-È«¹úÐéÄâÖ÷»ú10Ç¿£¡40ÓàÏîÐéÄâÖ÷»ú¹ÜÀí¹¦ÄÜ,È«¹úÁìÏÈ!Ë«Ïß¶àÏßÐéÄâÖ÷»úÄϱ±·ÃÎʳ©Í¨ÎÞ×è!Ãâ·ÑÔùËÍÆóÒµÓʾÖ,.CNÓòÃû,×ÔÖú½¨Õ¾480ÔªÆð,Ãâ·ÑÊÔÓÃ7Ìì,ÂúÒâÔÙ¸¶¿î! P4Ö÷»ú×âÓÃ799Ôª/ÔÂ.Ô¸¶Ãâѹ½ð!
¡¡¡¡ÔÚÓÃVC¿ª·¢Ó¦ÓóÌÐòʱ£¬¾­³£»áÒª×öһЩ¿ÉÒԸıä´óСµÄ¶Ô»°¿ò£¬¶øÕâ¸öʱºò¾ÍÒªÇó¶Ô»°¿òÉϵĿؼþ»áËæ×ŶԻ°¿ò´óСµÄ¸Ä±ä¶ø¸Ä±ä×Ô¼ºµÄλÖúʹóС¡£Èç¹û¿Ø¼þ±È½ÏÉÙ£¬ÄÇ¿ÉÒÔÔÚ¶Ô»°¿òµÄOnSize()ʼþÀïÃæÌí¼Ó´úÂ룬ͨ¹ý¼ÆËãÀ´µ÷Õû¸÷¸ö¿Ø¼þµÄλÖúʹóС£»µ«ÊÇ£¬Èç¹û¶Ô»°¿òÉϵĿؼþ±È½Ï¶àµÄ»°£¬ÄÇÕ⽫ÊÇÒ»¼þ·Ç³£Í´¿àµÄÊÂÇ飡ҪÊdzÌÐòÖÐÓÖÓкܶà¿ÉÒԸıä´óСµÄ¶Ô»°¿ò£¬ÄÇÒ»¸öÒ»¸öµÄOnSize()дÏÂÀ´£¬ÄÇ»áʹ³ÌÐòÔ±±ÀÀ£µÄ£¡

¡¡¡¡ÎªÁ˽â¾öÕâ¸öÎÊÌ⣬ÎÒдÁËÒ»¸ö×Ô¶¯¸Ä±ä¿Ø¼þλÖúʹóСµÄ¶Ô»°¿òÀàClxDialog¡£´ÓÕâ¸öÀà¼Ì³ÐµÄ¶Ô»°¿òÀֻ࣬ҪÔÚOnInitDialog()Àï¶Ô¿Ø¼þ×öһЩ¼òµ¥µÄÉèÖ㬶Ի°¿òÉϵĿؼþ¾Í»áËæ×ŶԻ°¿ò´óСµÄ¸Ä±ä¶ø¸Ä±ä×Ô¼ºµÄλÖúʹóС¡£

¡¡¡¡ÎªÁ˱£´æ¿Ø¼þÐÅÏ¢£¬ÎÒ¶¨ÒåÁËÒ»¸ö½á¹¹£º

typedef struct _dlgControlTag
{
¡¡int iId; // ¿Ø¼þID
¡¡int iFlag; // ±êÖ¾£¬±íʾÔõÑù¸Ä±ä¿Ø¼þµÄλÖûòÕß´óС
¡¡int iPercent; // ¸Ä±äÖµÕ¼¶Ô»°¿ò¸Ä±äÖµµÄ°Ù·Ö±È
} DLGCTLINFO, *PDLGCTLINFO;
¡¡¡¡ÕâÀïÒª¶Ô½á¹¹ÖеÄiFlagºÍiPercent½øÐÐһЩ½âÊÍ¡£ÆäÖÐiFlagÊÇÏÂÃæµÄö¾ÙÖµ£º

enum
{
¡¡MOVEX = 0, // ¿Ø¼þÔÚX·½Ïò£¨×óÓÒ£©Òƶ¯
¡¡MOVEY, // ¿Ø¼þÔÚY·½Ïò£¨ÉÏÏ£©Òƶ¯
¡¡MOVEXY, // ¿Ø¼þÔÚX·½ÏòºÍY·½ÏòÍ¬Ê±ÒÆ¶¯
¡¡ELASTICX, // ¿Ø¼þÔÚX·½Ïò£¨¿í¶È£©¸Ä±ä´óС
¡¡ELASTICY, // ¿Ø¼þÔÚY·½Ïò¸Ä£¨¸ß¶È£©¸Ä±ä´óС
¡¡ELASTICXY // ¿Ø¼þÔÚX·½ÏòºÍY·½Ïòͬʱ¸Ä±ä´óС
};
¡¡¡¡iPercent±íʾ¸Ä±äÖµÕ¼¶Ô»°¿ò¸Ä±äÖµµÄ°Ù·Ö±È¡£ÀýÈ磬һ¸ö¿Ø¼þµÄiPercentֵΪ100£¬iFlagֵΪMOVEX£¬ÄÇôµ±¶Ô»°¿òµÄ¿í¶È¸Ä±ä100¸öµ¥Î»µÄʱºò£¬Õâ¸ö¿Ø¼þ¾ÍÔÚX·½ÏòÒÆ¶¯100¸öµ¥Î»£»ÓÖÈ磬һ¸ö¿Ø¼þµÄiPercentֵΪ100£¬iFlagֵΪELASTICXY£¬ÄÇôµ±¶Ô»°¿òµÄ¿í¶ÈºÍ¸ß¶È·Ö±ð¸Ä±ä100¸öµ¥Î»µÄʱºò£¬¿Ø¼þµÄ¸ß¶ÈºÍ¿í¶ÈÒ²ÏàÓ¦µÄ¸Ä±ä100¸öµ¥Î»¡£

¡¡¡¡ÏÂÃæÊÇÉèÖÿؼþÐÅÏ¢µÄº¯Êý£º

BOOL SetControlProperty(PDLGCTLINFO lp, int nElements);
¡¡¡¡Ê¹ÓÃÆðÀ´·Ç³£¼òµ¥£¬ÔÚ¶Ô»°¿òµÄOnInitDialog()º¯ÊýÀïÃæÌí¼ÓÀàËÆÏÂÃæµÄ´úÂë¾ÍÐÐÁË£º

// ¿Ø¼þÐÅÏ¢Êý×é
static DLGCTLINFO dcMenuGroup[] =
{
¡¡{IDOK, MOVEX, 100},
¡¡{IDCANCEL, MOVEX, 100},
¡¡{IDC_BUTTON1, MOVEX, 50},
¡¡{IDC_BUTTON1, MOVEY, 100},
¡¡{IDC_EDIT1, ELASTICX, 100},
¡¡{IDC_EDIT2, ELASTICX, 50},
¡¡{IDC_EDIT3, ELASTICX, 50},
¡¡{IDC_EDIT3, MOVEX, 50},
¡¡{IDC_EDIT4, ELASTICY, 100},
¡¡{IDC_EDIT5, ELASTICX, 100},
¡¡{IDC_EDIT5, ELASTICY, 50},
¡¡{IDC_EDIT6, ELASTICX, 100},
¡¡{IDC_EDIT6, ELASTICY, 50},
¡¡{IDC_EDIT6, MOVEY, 50},
};

// ÉèÖÿؼþÐÅÏ¢
SetControlProperty(dcMenuGroup, sizeof(dcMenuGroup)/sizeof(DLGCTLINFO));
¡¡¡¡ÏÂÃæ¾ÍÊÇʹÓÃÉÏÃæÕâ¶Î´úÂëµÄ¶Ô»°¿ò¸Ä±ä´óСǰºóµÄЧ¹ûͼ£º

¡¡¡¡¶ÔÁ½ÕŽØÍ¼µÄ±È½ÏÎÒÃÇ¿ÉÒÔºÜÈÝÒ×µÄÀí½âÉÏÃæÄǶδúÂë¡£

¡¡¡¡ÎÒ»¹ÌṩÁËÒ»¸öº¯Êý£º

void ShowSizeIcon(BOOL bShow = TRUE);
¡¡¡¡À´ÉèÖÃÊÇ·ñÏÔʾ¶Ô»°¿òÓÒϽDZíʾ¿ÉÒԸıä´óСµÄͼ±ê¡£Õâ¸öͼ±êÊÇ´ÓϵͳÖжÁÈ¡µÄ£¬ÎÒÉÏÃæµÄ½ØÍ¼ÊÇWindows2000ϵģ¬ÔÚWindowsXPÖоͻá×Ô¶¯±ä³ÉXP·ç¸ñµÄ¡£
¡¡¡¡ºÃÁË£¬Ïл°²»¶à˵ÁË£¬ÏÂÃæÌù³ö¸Ã¶Ô»°¿òÀàClxDialogµÄÔ´´úÂ룬ÀïÃæÓÐÏêϸµÄ×¢ÊÍ£º

lxDialog.hÎļþ£º

/////////////////////////////////////////////////////////////////////////////////////
// ×Ô¶¯¸Ä±ä¿Ø¼þλÖúʹóСµÄ¶Ô»°¿òÀà
// ÎļþÃû£ºlxDialog.h
// ×÷ÕߣºStarLee(coolstarlee@sohu.com)
/////////////////////////////////////////////////////////////////////////////////////

class ClxDialog : public CDialog
{
public:
ClxDialog(UINT nID, CWnd* pParent = NULL);

typedef struct _dlgControlTag
{
¡¡int iId;
¡¡int iFlag;
¡¡int iPercent;
} DLGCTLINFO, *PDLGCTLINFO;

enum
{
¡¡MOVEX = 0,
¡¡MOVEY,
¡¡MOVEXY,
¡¡ELASTICX,
¡¡ELASTICY,
¡¡ELASTICXY
};

// ÉèÖÿؼþÐÅÏ¢
BOOL SetControlProperty(PDLGCTLINFO lp, int nElements);

// ÊÇ·ñÔÚ¶Ô»°¿òÓÒϽÇÏÔʾ±íʾ¿É¸Ä±ä´óСµÄͼ±ê
void ShowSizeIcon(BOOL bShow = TRUE);

protected:
¡¡virtual BOOL OnInitDialog();
¡¡afx_msg void OnSize(UINT nType, int cx, int cy);
¡¡afx_msg void OnSizing(UINT nSide, LPRECT lpRect);
¡¡DECLARE_MESSAGE_MAP()

private:
¡¡int m_iClientWidth; // ¶Ô»°¿òclientÇøÓòµÄ¿í¶È
¡¡int m_iClientHeight; // ¶Ô»°¿òclientÇøÓòµÄ¸ß¶È
¡¡int m_iMinWidth; // ¶Ô»°¿òµÄ×îС¿í¶È
¡¡int m_iMinHeight; // ¶Ô»°¿òµÄ×îС¸ß¶È
¡¡PDLGCTLINFO m_pControlArray; // ¿Ø¼þÐÅÏ¢Êý×éÖ¸Õë
¡¡int m_iControlNumber; // ÉèÖÿؼþÐÅÏ¢µÄ¿Ø¼þ¸öÊý
¡¡BOOL m_bShowSizeIcon; // ÊÇ·ñÏÔʾ±íʾ¿É¸Ä±ä´óСµÄͼ±ê
¡¡CStatic m_wndSizeIcon; // ·Åͼ±êµÄ¾²Ì¬¿Ø¼þ
¡¡// ±£´æÍ¼±êµÄbitmap
¡¡CBitmap m_bmpSizeIcon;
¡¡BITMAP m_bitmap;
};

lxDialog.cppÎļþ:

//////////////////////////////////////////////////////////////////////
// ×Ô¶¯¸Ä±ä¿Ø¼þλÖúʹóСµÄ¶Ô»°¿òÀà
// ÎļþÃû£ºlxDialog.cpp

ÎÄÕÂÕûÀí£ºÎ÷²¿ÊýÂë--רҵÌṩÓòÃû×¢²á¡¢ÐéÄâÖ÷»ú·þÎñ
http://www.west263.com
ÒÔÉÏÐÅÏ¢ÓëÎÄÕÂÕýÎÄÊDz»¿É·Ö¸îµÄÒ»²¿·Ö,Èç¹ûÄúÒª×ªÔØ±¾ÎÄÕÂ,Çë±£ÁôÒÔÉÏÐÅÏ¢£¬Ð»Ð»!

ÈÈµã¹Ø×¢
IDC×ÊѶ ÐéÄâÖ÷»ú ÓòÃû×¢²á ÍйÜ×âÓà vpsÖ÷»ú ÖÇÄܽ¨Õ¾
ÍøÕ¾ÔËÓª ½¨Õ¾¾­Ñé ²ß»®Ó¯Àû ËÑË÷ÓÅ»¯ ÍøÕ¾ÍÆ¹ã Ãâ·Ñ×ÊÔ´
ÍøÕ¾ÁªÃË ÁªÃËÐÂÎÅ ÁªÃ˽éÉÜ ÁªÃ˵ãÆÀ Íø×¬¼¼ÇÉ
ÐÐÒµ×ÊѶ Òµ½ç¶¯Ì¬ ËÑË÷ÒýÇæ ÍøÂçÓÎÏ· ÃÅ»§¶¯Ì¬ µç×ÓÉÌÎñ ¹ã¸æ´«Ã½
ÍøÂç±à³Ì Asp.Net±à³Ì Asp±à³Ì Php±à³Ì Xml±à³Ì Access Mssql Mysql ÆäËü
·þÎñÆ÷¼¼Êõ Web·þÎñÆ÷ Ftp·þÎñÆ÷ Mail·þÎñÆ÷ Dns·þÎñÆ÷ °²È«·À»¤
Èí¼þ¼¼ÇÉ ÆäËüÈí¼þ Word Excel Powerpoint Ghost Vista QQ¿Õ¼ä QQ FlashGet ѸÀ× Internet Explorer
ÍøÒ³ÖÆ×÷ FrontPages Dreamweaver Javascript css photoshop fireworks Flash
³ÌÐòÉè¼Æ Java¼¼Êõ C/C++ VB delphi
ÍøÂç֪ʶ ÍøÂçЭÒé ÍøÂ簲ȫ ÍøÂç¹ÜÀí ×éÍø·½°¸ Cisco¼¼Êõ
²Ù×÷ϵͳ Win2000 WinXP Win2003 Mac OS Linux FreeBSD
·µ»ØÊ×Ò³ |¹ØÓÚÎÒÃÇ | ÁªÏµÎÒÃÇ | ¸¶¿î·½Ê½ | ´´ÒµÁªÃË | ¼Û¸ñ×ÜÀÀ | ×ÊѶÖÐÐÄ | ÓÑÇéÁ´½Ó | ÍøÕ¾µØÍ¼ | ÕÐÏÍÄÉÊ¿ | RSS