怎样用程序在tmemo中到达页首或页尾

wangxd 2001-06-23 07:45:00
用tmemo载入文本文件后,我想用程序翻到最后一页,怎么办?
我向tmemo发消息向上,向下翻页都没问题,怎么发ctrl + end就不行呢?
代码如下:
memo1->perform(WM_KEYDOWN,VK_CONTROL ,0);
memo1->perform(WM_KEYDOWN,VK_END,0);
我发memo1->perform(WM_KEYDOWN,VK_PAGEDOWN,0);翻页都没问题,怎么就不能发ctrl + end呢?
...全文
162 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangxd 2001-06-28
  • 打赏
  • 举报
回复
over
wangxd 2001-06-28
  • 打赏
  • 举报
回复
over
kamsay 2001-06-28
  • 打赏
  • 举报
回复
如果要光标跟着走,加上;
::SetFocus(Memo1->Handle);

kamsay 2001-06-28
  • 打赏
  • 举报
回复
页尾:
Memo1->SelLength = 0;
Memo1->SelStart=Memo1->GetTextLen(); // position caret at end
Memo1->Perform( EM_SCROLLCARET, 0, 0 ); // ensure viewport is right

页首:
Memo1->SelLength = 0;
Memo1->SelStart=0;// position caret at start
Memo1->Perform( EM_SCROLLCARET, 0, 0 ); // ensure viewport is right
孩皮妞野 2001-06-27
  • 打赏
  • 举报
回复
那还不如:
Memo1->Perform(WM_VSCROLL,SB_BOTTOM,NULL);

Memo1->Perform(WM_VSCROLL,SB_TOP,NULL);

但是行为与上面的有细微差异, 就是光标没有移动。


Wingsun 2001-06-27
  • 打赏
  • 举报
回复
没有这么夸张吧,一句话就搞定了。
SendMessage(Memo1->Handle,WM_VSCROLL,SB_BOTTOM,NULL);
孩皮妞野 2001-06-27
  • 打赏
  • 举报
回复
Wangxd 拿分来。 才10分, 这么多人分, 我倒...


//---------------------------------------------------------------------------

void __fastcall TForm1::BottomGoEndClick(TObject *Sender)
{
Memo1->SetFocus();
keybd_event(VK_CONTROL, 0, 0,0);
keybd_event(VK_END, 0, 0, 0);
keybd_event(VK_END, 0, KEYEVENTF_KEYUP, 0);
keybd_event(VK_CONTROL, 0, KEYEVENTF_KEYUP,0);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ButtonGoTopClick(TObject *Sender)
{
Memo1->SetFocus();
// keybd_event(VK_HOME, 2, 0, 0);
// keybd_event(VK_HOME, 2, KEYEVENTF_KEYUP, 0);
keybd_event(VK_CONTROL, 0, 0,0);
keybd_event(VK_HOME, 0, 0, 0);
keybd_event(VK_HOME, 0, KEYEVENTF_KEYUP, 0);
keybd_event(VK_CONTROL, 0, KEYEVENTF_KEYUP,0);
}
//---------------------------------------------------------------------------
我不懂电脑 2001-06-27
  • 打赏
  • 举报
回复
TangSe(桔右京) 真聪明就这样。
wangxd 2001-06-27
  • 打赏
  • 举报
回复
wangxd 2001-06-27
  • 打赏
  • 举报
回复
分分
westfly 2001-06-27
  • 打赏
  • 举报
回复
用TMemo的ScrollBy方法
wangxd 2001-06-26
  • 打赏
  • 举报
回复
>>erling20(L.L.) 
你怎么知道何时系统翻不动?
TangSe 2001-06-24
  • 打赏
  • 举报
回复
songhtao(三十年孤独) :
呵呵。。。厉害。

到页首是否可以用
Memo1->Lines->Insert(0,"aaa");
Memo1->Lines->Delete(0);
????

没试,估计不能,或者能。
erling20 2001-06-24
  • 打赏
  • 举报
回复
你可以循环的向上或向下翻页,直到系统翻不动为止,不就行了!
wangxd 2001-06-24
  • 打赏
  • 举报
回复
>>songhtao(三十年孤独) 
够卑鄙,那到页首呢?
我不懂电脑 2001-06-23
  • 打赏
  • 举报
回复
调试通过
void __fastcall TForm1::Button2Click(TObject *Sender)
{
Memo1->Lines->Append("aaa");
Memo1->Lines->Delete(Memo1->Lines->Count - 1);
}
Spring414 2001-06-23
  • 打赏
  • 举报
回复
不知道可不可以把两个建值用“|”联起来?

13,826

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧