|
|
|
Nh÷ng
c©u hái nhá |
![]()
|
|
| Thªm mét ®èi tîng trong lóc ch¬ng tr×nh thùc thi |
|
Ngoµi c¸c Control trong lóc thiÕt kÕ ch¬ng tr×nh ®îc b¹n t¹o ra, trong lóc ch¬ng tr×nh ®ang thùc thi (ch¹y) b¹n vÉn cã thÓ t¹o thªm c¸c Control mét c¸ch kh¸ dÔ dµng víi ®iÒu kiÖn nh sau ®Ó t¹o nªn mét m¶ng c¸c Control.
Trong lóc ch¬ng tr×nh ch¹y b¹n cã thÓ dïng c©u lÖnh sau ®©y ®Ó Load mét Control lªn. Khi Control ®îc Load lªn nã sÏ mang c¸c thuéc tÝnh gièng hÖt víi c¸i ban ®Çu chØ trõ chØ sè Index. B¹n h·y dïng lÖnh sau ®Ó Load. Víi Index lµ chØ sè cña phÇn tö kÕ tiÕp trong m¶ng
Visual Basic chØ cho phÐp b¹n Load ®Õn 32767 (Giíi h¹n cña Integer) phÇn tö trong mét m¶ng mµ th«i. Sau ®©y lµ mét thÝ dô minh häa c¸ch thªm CommandButton - B¹n h·y t¹o mét CommandButton, ®Æt thuéc tÝnh Name = cmdBtn vµ Index = 0 (zero). Khi b¹n nhËp vµo thuéc tÝnh Index cña mét con sè còng cã nghÜa lµ b¹n ®· t¹o mét m¶ng c¸c ®èi tîng ®ã. - Paste vµo ®o¹n Code sau: Private Sub cmdBtn_Click(Index As Integer)
End Sub
NhÊn F5 ch¹y thö ch¬ng tr×nh, Click chuét vµo CommandButton b¹n sÏ thÊy mét CommandButton n÷a xuÊt hiÖn phÝa díi. |
|
|
| Nhê ToolTip ®Ó hiÓn thÞ d÷ liÖu qu¸ dµi trong ListBox |
|
B¹n cã khi nµo b¹n gÆp trêng hîp Item cÇn hiÓn thÞ trong ListBox l¹i dµi h¬n bÒ réng cña Listox kh«ng ? Trong rÊt dÞ hîm ph¶i kh«ng ? Tù nhiªn mÊt khóc ®u«i cña ngêi ta.
Vµ ®©y lµ gi¶i ph¸p. B¹n h·y dïng mét ToolTip, néi dung cña ToolTip chÝnh lµ néi dung Item cña ListBox mçi khi b¹n rª Mouse ®Õn.
H·y më 1 form míi, trªn ®ã t¹o 1 ListBox (Name: List1). T«i ph¶i dïng ®Õn hµm API SendMessage vµ h»ng (LB_ITEMFROMPOINT = &H1A9) ®Ó lµm viÖc nµy. Option Explicit Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" _ (ByVal hwnd As Long,ByVal wMsg As Long, ByVal wParam As Long, _ lParam As Any) As Long Private Const LB_ITEMFROMPOINT = &H1A9 ¥ë thñ tôc t×nh huèng Form_Load() b¹n h·y thªm vµo vµi dßng lÖnh ®Ó Add vµo ListBox (Nhí cho dßng d÷ liÖu dµi dµi mét chót ®Ó thÊy râ t¸c dông). Private Sub Form_Load() List1.AddItem "Tao bo dia cai dat phan mem"List1.AddItem "Su dung Font Navigator"List1.AddItem "Tao man hinh Splash Screen"List1.AddItem "EditPlus (Text/HTML Editor for Windows)"List1.AddItem "Tu tao Progress bar cho ung dung"List1.AddItem "Combo box tu hien danh sach khi nhan focus"List1.AddItem "Cua so FormLayout dung de lam gi" End Sub 'Khi rª mouse trªn ListBox, thñ tôc sau ®©y sÏ lÊy néi dung cña Item t¹i vÞ trÝ Mouse vµ cho hiÖn lªn b»ng ToolTip. Private Sub List1_MouseMove(Button As Integer, Shift As Integer, _ X As Single, Y As Single) Dim lXPoint As Long Dim lYPoint As Long Dim lIndex As Long If Button = 0 Then 'NÕu kh«ng cã nót nµo ®îc nhÊn lXPoint = CLng(X / Screen.TwipsPerPixelX) lYPoint = CLng(Y / Screen.TwipsPerPixelY)
With List1
lIndex = SendMessage(.hwnd,LB_ITEMFROMPOINT,0, _
ByVal ((lYPoint * 65536) + lXPoint))
'HiÖn ToolTip hoÆc xãa c¸i tríc ®ã If (lIndex >= 0) And (lIndex <= .ListCount) Then .ToolTipText = .List(lIndex) Else .ToolTipText = "" End If End With End If End Sub |
|
|
| Lµm sao ®Ó TextBox tù ®éng Select v¨n b¶n mçi khi nhËn focus ? |
|
B¹n cã chó ý ë hÇu hÕt c¸c phÇn mÒm, nÕu ngêi dïng cÇn nhËp liÖu vµo mét hép v¨n b¶n (TextBox) nµo ®ã, th× khi ngêi dïng nhÊn Mouse hoÆc Tab ®Ó chuyÓn ®Õn TextBox, tøc th× toµn bé d÷ liÖu ®ang hiÖn cã trong TextBox sÏ ®îc Select. C¸ch nµy gióp ngêi dïng gâ d÷ liÖu kh¸c ®Ì lªn d÷ liÖu hiÖn h÷u, mµ kh«ng ph¶i mÊt c«ng xãa ®i råi gâ l¹i c¸i kh¸c.
ViÕt mét thñ tôc riªng, thñ tôc nµy nhËn ®èi sè lµ mét TextBox Public Sub FocusMe(ctlName As TextBox) With ctlName .SelStart = 0 .SelLength = Len(ctlName) End With End Sub 'B©y giê b¹n h·y gäi hµm nµy trong thñ tôc t×nh huèng GotFocus cña mét TextBox Private Sub txtFocusMe_GotFocus() Call FocusMe(txtFocusMe) End Sub Hy väng nh÷ng c©u hái nhá nµy sÏ gióp Ých cho b¹n trong lóc ph¸t triÓn mét øng dông b»ng Visual Basic. Chóc b¹n thµnh c«ng. |
chuÒ nhâòt, thaìng hai 03, 2002 05:52:34 CH
NguyÔn
Hå Thiªn §¨ng
PcLeHoan
1996 - 2002
Mirror :
http://www.pclehoan.com
Mirror :
http://www.lehoanpc.net
Mirror :
http://www.ktlehoan.com