;
帖子
3919 
精华
积分
11710 
鱼币
0 ¥ 
来自
大连 
在线时间
1858 小时 
注册时间
2007-6-11 
最后登录
2009-10-20 

贴图大师勋章新人进步勋章宣传大使勋章论坛元老勋章

3
发表于 2009-1-5 19:48 | 只看该作者
鍋氫竴涓彲缂栬緫鐨勮〃鏍兼帶浠 - 缂栫▼搴 - Powered by SupeSite

浣犵殑浣嶇疆锛缂栫▼搴 >> 璧勮 >> VC >> vc鎺т欢 >> 璇︾粏鍐呭 鍦ㄧ嚎鎶曠ǹ

鍋氫竴涓彲缂栬緫鐨勮〃鏍兼帶浠

鍙戝竷: 2008-6-26 14:29 |  浣滆: admin |   鏌ョ湅: 140娆

銆愬疄鐜板唴瀹广戝仛涓涓彲缂栬緫鐨勮〃鏍兼帶浠躲

銆愪娇鐢ㄦ帶浠躲戜竴涓狹SFLEXGRID琛ㄦ牸鎺т欢锛屼竴涓枃鏈帶浠讹紝涓涓笅鎷夊垪琛ㄦ帶浠躲

銆愬疄鐜板師鐞嗐戞垜鍠滄鎶婅繖涓柟娉曠О涓鸿瑙夊亣璞°傜敱浜嶮SFLEXGRID鎺т欢鏈韩鏄笉鏀寔鐩存帴缂栬緫鐨勩傛墍浠ラ渶瑕佺粨鍚堟枃鏈帶浠舵垨鑰呬笅鎷夊垪琛ㄦ帶浠讹紝浣胯〃鏍兼帶浠剁殑杩愯鏁堟灉濡傚悓鍙互鐩存帴缂栬緫涓鏍枫

銆愬疄鐜版楠ゃ

1锛 褰撻紶鏍囩偣鍑昏〃鏍兼帶浠剁殑鏌愪竴鏍兼椂锛岄鍏堝垽鏂鍒楃殑灞炴э紝鏄洿鎺ョ紪杈戝憿锛岃繕鏄敤涓嬫媺鍒楄〃杩涜閫夋嫨銆

2锛 鏄剧ず闅愯棌鐨勬枃鏈帶浠舵垨鑰呬笅鎷夊垪琛ㄦ帶浠讹紝鏄剧ず鐨勪綅缃拰澶у皬涓庨変腑鏍肩殑浣嶇疆澶у皬瀹屽叏鐩稿悓锛岃繖鏍峰彲浠ヨ鐩栭変腑鏍

3锛 灏嗛変腑鏍肩殑鍐呭濉埌鏂囨湰鎺т欢鎴栬呬笅鎷夊垪琛ㄦ帶浠朵腑

4锛 淇敼瀹屾瘯鍚庯紝灏嗘柊鐨勫唴瀹瑰~鍒伴変腑鏍间腑锛屽悓鏃堕殣钘忔枃鏈帶浠舵垨鑰呬笅鎷夊垪琛ㄦ帶浠躲

銆愪富瑕佺▼搴忔鍙婅鏄庛

鍙橀噺瀹氫箟锛

CComboBox m_ChangeCombo锛--涓嬫媺鍒楄〃鎺т欢锛屽垵濮嬫椂涓嶅彲瑙

CEdit m_Change锛---------------鏂囨湰鎺т欢锛屽垵濮嬫椂涓嶅彲瑙

CSring m_sChange;----------------涓庢枃鏈帶浠跺叧鑱旂殑瀛楃涓

CMSFlexGrid m_FlexGrid锛-----琛ㄦ牸鎺т欢

绋嬪簭娈碉細

琛ㄦ牸鐐瑰嚮浜嬩欢锛氶変腑鏌愪竴鏍煎悗锛屽氨瑕佹樉绀虹浉搴旂殑鏂囨湰鎺т欢鎴栬呭垪琛ㄦ帶浠

void CChartInfoEditDlg::OnClickMsflexgrid()

{

//鐐瑰嚮鏃犳晥鍖,杩斿洖

long lRow = m_FlexGrid.GetRowSel();//鑾峰彇鐐瑰嚮鐨勮鍙

long lCol = m_FlexGrid.GetColSel(); //鑾峰彇鐐瑰嚮鐨勫垪鍙

if(lRow>m_SAttrInfo.attrNum) //濡傛灉鐐瑰嚮鍖鸿秴杩囨渶澶ц鍙凤紝鍒欑偣鍑绘槸鏃犳晥鐨

return;

if(lRow == 0) //濡傛灉鐐瑰嚮鏍囬琛岋紝涔熸棤鏁

return;

//

CRect rect;

m_FlexGrid.GetWindowRect(rect); //鑾峰彇琛ㄦ牸鎺т欢鐨勭獥鍙g煩褰

ScreenToClient(rect); //杞崲涓哄鎴峰尯鐭╁舰

// MSFlexGrid 鎺т欢鐨勫嚱鏁扮殑闀垮害鍗曚綅鏄"缂(twips)"锛

//闇瑕佸皢鍏惰浆鍖栦负鍍忕礌锛1440 缂 = 1 鑻卞

CDC* pDC =GetDC();

//璁$畻璞$礌鐐瑰拰缂囩殑杞崲姣斾緥

int nTwipsPerDotX = 1440 / pDC->GetDeviceCaps(LOGPIXELSX) ;

int nTwipsPerDotY = 1440 / pDC->GetDeviceCaps(LOGPIXELSY) ;

//璁$畻閫変腑鏍肩殑宸︿笂瑙掔殑鍧愭爣锛堣薄绱犱负鍗曚綅锛

long y = m_FlexGrid.GetRowPos(lRow)/nTwipsPerDotY;

long x = m_FlexGrid.GetColPos(lCol)/nTwipsPerDotX;

//璁$畻閫変腑鏍肩殑灏哄锛堣薄绱犱负鍗曚綅锛夈傚姞1鏄疄闄呰皟璇曚腑锛屽彂鐜板姞1鍚庢晥鏋滄洿濂

long width = m_FlexGrid.GetColWidth(lCol)/nTwipsPerDotX+1;

long height = m_FlexGrid.GetRowHeight(lRow)/nTwipsPerDotY+1;

//褰㈡垚閫変腑涓墍鍦ㄧ殑鐭╁舰鍖哄煙

CRect rc(x,y,x+width,y+height);

//杞崲鎴愮浉瀵瑰璇濇鐨勫潗鏍

rc.OffsetRect(rect.left+1,rect.top+1);

//娓呯┖涓嬫媺鍒楄〃鐨勫唴瀹

m_ChangeCombo.ResetContent( );

//浠ヤ笅鐪佺暐鍝竴鍒楃敤鏂囨湰鎺т欢锛屽摢涓鍒楃敤涓嬫媺鍒楄〃鎺т欢鐨勫垽鏂傚鏋滄槸鐢ㄤ笅鎷夊垪琛ㄦ帶浠讹紝鍒欎細鍏堝悜涓嬫媺鍒楄〃鎺т欢涓鍔犳暟鎹紝鍚﹀垯涓虹┖

鈥︹︹︹︹︹︹︹︹︹︹︹.

鈥︹︹︹︹︹︹︹︹︹︹︹.

//鑾峰彇閫変腑鏍肩殑鏂囨湰淇℃伅

CString strValue = m_FlexGrid.GetTextMatrix(lRow,lCol);

int num = m_ChangeCombo.GetCount();

//濡傛灉涓嬫媺鍒楄〃鎺т欢涓湁鏁版嵁锛屽垯琛ㄧず浣跨敤涓嬫媺鍒楄〃鎺т欢鏉ヨ繘琛屾暟鎹夋嫨

if(num!=0)

{

m_ChangeCombo.ShowWindow(SW_SHOW);//鏄剧ず鎺т欢

m_ChangeCombo.MoveWindow(rc); //绉诲姩鍒伴変腑鏍肩殑浣嶇疆锛岃鐩

m_ChangeCombo.SelectString(-1,strValue); //鍐呭鍏ㄩ夈傛柟渚跨洿鎺ヤ慨鏀

m_ChangeCombo.SetFocus(); //鑾峰彇鐒︾偣

鎵撳嵃 | 鏀惰棌姝ら〉 |  鎺ㄨ崘缁欏ソ鍙 | 涓炬姤
涓婁竴绡 涓嬩竴绡
 

璇勫垎锛0

鍙戣〃璇勮
鏌ョ湅鍏ㄩ儴鍥炲銆愬凡鏈0浣嶇綉鍙嬪彂琛ㄤ簡鐪嬫硶銆