5
是否有可能像在Delphi IDE中突出顯示編譯器錯誤時那樣在活動編輯器窗口中突出顯示特定行?如何在源代碼編輯器中使用OpenToolsAPI突出顯示特定行
是否有可能像在Delphi IDE中突出顯示編譯器錯誤時那樣在活動編輯器窗口中突出顯示特定行?如何在源代碼編輯器中使用OpenToolsAPI突出顯示特定行
如果它確定,只是去到某行的最上面的編輯器,然後嘗試這個辦法:
procedure GotoLine(LineNumber: Integer);
var
EditorServices: IOTAEditorServices;
Buffer: IOTAEditBuffer;
Position: IOTAEditPosition;
begin
if not Supports(BorlandIDEServices, IOTAEditorServices, EditorServices) then
Exit;
Buffer := EditorServices.TopBuffer;
if not Assigned(Buffer) then
Exit;
Position := Buffer.EditPosition;
if not Assigned(Position) then
Exit;
Position.GotoLine(LineNumber);
Buffer.TopView.Paint;
end;
你想還添加了一個消息給個消息窗口? –
我的猜測*是不可能直接使用OTAPI,因爲沒有關於控制代碼編輯器的繪製。像Castalia這樣的插件做低級別的黑客來截取控制畫,而我並不具體瞭解它們是什麼 - 一個例子是這裏的一個非常有用的答案。請注意,由於代碼摺疊等原因,確切地確定特定行的位置也很複雜。 –
@UliGerhardt不,我不知道。我唯一想要的是讓用戶注意選定的一行代碼。 –