程序运行后,在控件Memo中输入多行信息,此时,想单击一下
2楼: memo.lines.text :=memo.lines.string[0];下载管家婆财务软件
3楼: Memo1.SetFocus ;
Memo1.SelStart:= 0 ;
我试过了,可以的
4楼: to ahhlian:
我试了不行啊!
5楼: to huiyue:
你提供的方案,我试了不行。
6楼: 今天手气不好,两个问题都没搞定,思路是利用Ctrl + home快捷键
Vk_Control 和 VK_Home
SendMessage WM_KeyDown
或者是利用WM_HScroll
最后只有利用Key_Event了
procedure TForm1.Button2Click(Sender: TObject);
begin
Memo1.SetFocus;
keybd_event( VK_Control, MapVirtualKey(VK_Control, 0 ), 0 , 0 ); //Control key down
keybd_event( VK_HOME, MapVirtualKey(VK_Down, 0 ),KEYEVENTF_EXTENDEDKEY, 0 ); // down arrow key down
keybd_event( VK_Control, MapVirtualKey(VK_Control, 0 ), KEYEVENTF_KEYUP , 0 ); //Control arrow key up
keybd_event( VK_HOME, MapVirtualKey(VK_Down, 0 ), KEYEVENTF_KEYUP , 0 ); //Down key up
end;
搞定,网上转的东西,改了一下
进销存管理软件版7楼: 本人在开发中积累的memo技巧: 测试通过
1、要使memo向下翻页 sendmessage(memo1.handle,wm_vscroll,SB_PAGEDOWN,0);
2、使memo有滚动条 属性 scrollbars:=ssboth
3、如何使memo达到最后一页 SetScrollPos(memo1.Handle,SB_VERT,99999,true);
SetScrollPos(memo1.Handle,SB_HORZ,99999,true);
4、如何使memo向上翻页 SendMessage(Memo1.Handle,WM_VSCROLL, SB_PAGEUP,0) ;
5、如何使memo 回到第一页 memo1.Perform(EM_SCROLLCARET, 0, 0 );
6、如何使光标下移 SendMessage(Memo1.Handle,WM_KeyDown,VK_DOWN,MapVirtualKey(40,0));
7、如何使光标移动到最后一行
memo1.Lines.Move(0,memo1.Lines.Count);
Memo1.SelStart := length(Memo1.Text);
memo1.SetFocus;
8、得到memo当前光标行列:
procedure TForm1.Button1Click(Sender: TObject);
var
a:tpoint;
begin
a:=Memo1.CaretPos ;
edit1.Text :=inttostr(a.x );
edit2.Text :=inttostr(a.y );
end;
9、我在COM中动态创建一个Memo控件,我如何将其显示到调用COM的主窗体的一个PANEL上,并且Memo能够指定align
with TMemo.Create(Panel1) do begin
Parent := Panel1;
align := alClient;
Show;
end;
8楼: 十分感谢~!