Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 6 524

/ вопрос открыт /

Доброго времени суток, уважаемые эксперты!
как вернуть фокус listbox? в listbох-е находятся сылки на страницы (google,vk.com и т.д.) так вот когда по dbl щелчку гружу сайт в webbrowser пропадает фокус, нельзя прокрутить колесиком, когда сворачиваю/разворачиваю программу только после этого можно прокрутить колесиком.

casio Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: casio (статус: Посетитель)
Вопрос отправлен: 14 марта 2014, 22:18
Состояние вопроса: открыт, ответов: 0.


Мини-форум вопроса

Всего сообщений: 41; последнее сообщение — 19 марта 2014, 00:32; участников в обсуждении: 3.

Страницы: [1] [2] [3] [Следующая »]

min@y™

min@y™ (статус: Доктор наук), 14 марта 2014, 22:28 [#1]:

listbох.SetFocus() побовал?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
casio

casio (статус: Посетитель), 14 марта 2014, 22:38 [#2]:

min@y™: пробовал, не подходит...
min@y™

min@y™ (статус: Доктор наук), 14 марта 2014, 22:54 [#3]:

Цитата (casio):

пробовал, не подходит...

Да неужели?

  1. По какой причине не подходит?
  2. Как ведёт себя программа?
  3. В какой момент ты вызываешь SetFocus()?
  4. Покажи кусок кода.

Всё это надо было поместить в текст своего вопроса.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
casio

casio (статус: Посетитель), 14 марта 2014, 23:23 [#4]:

может не туда добавил код, но ничего не происходит
 
if ListBox1.ItemIndex = 0 then begin Chromium.Load('https://www.youtube.com/watch?v=NG4vL2kwf0U'); 
listbох.SetFocus();
min@y™

min@y™ (статус: Доктор наук), 14 марта 2014, 23:35 [#5]:

Цитата (casio):

может не туда добавил код, но ничего не происходит

Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
casio

casio (статус: Посетитель), 14 марта 2014, 23:56 [#6]:

min@y™: глюк)
min@y™

min@y™ (статус: Доктор наук), 15 марта 2014, 00:03 [#7]:

Цитата (casio):

глюк

А как же компилятор этот глюк сожрал и не подавился?
Почему бы просто не скопипастить кусок кода из редактора в браузер, чтобы я посмотрел, как у тебя там всё на самом деле.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
min@y™

min@y™ (статус: Доктор наук), 15 марта 2014, 00:04 [#8]:

А ещё лучше - записать негодное поведение программы в видео-ролик и выложить его, чтобы стало сразу понятно, что не так.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
dmistand

dmistand (статус: 1-ый класс), 15 марта 2014, 04:23 [#9]:

casio: доброго. Лично я считаю, что min@y™ прав. Но если по каким-то причинам listBox1.SetFocus не срабатывает, попробуй использовать Form.FocusControl(listBox1), где Form - форма-владелец твоего listbox
(хотя по сути это то же самое...)
casio

casio (статус: Посетитель), 15 марта 2014, 12:36 [#10]:

min@y™:
все равно после того как сверну форму - разверну только тогда можно прокрутить список в listbох-е колесиком, если не не переходить по ссылке прокручивать можно
 
if ListBox1.ItemIndex = 0 then begin Chromium.Load('https://www.youtube.com/watch?v=NG4vL2kwf0U'); 
listbох1.SetFocus();
end;
 
if ListBox1.ItemIndex = 1 then begin Chromium.Load('ссылка2'); 
listbох1.SetFocus();
end;
min@y™

min@y™ (статус: Доктор наук), 15 марта 2014, 13:18 [#11]:

Ну покажи ты мне весь обработчик ListBox1.OnDblClick(), тебе жалко, что-ли?
Кстати, а чо такое Chromium?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
min@y™

min@y™ (статус: Доктор наук), 15 марта 2014, 13:21 [#12]:

Да, и, хотя бы, скриншот всего этого хозяйства в run-time увидеть бы.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
casio

casio (статус: Посетитель), 16 марта 2014, 20:18 [#13]:

min@y™: Chromium - компонент, использую вместо стандартного webrowser.

а может быть потеря фокуса из-за этой строчки?
Chromium.Visible := True;

код OnDblClick

procedure ListBox1.OnDblClick(Sender: TObject);
begin
 
Chromium.Visible := True;
 
if ListBox1.ItemIndex = 0 then begin Chromium.Load('https://www.youtube.com/watch?v=NG4vL2kwf0U'); 
listbох1.SetFocus();
end;
 
if ListBox1.ItemIndex = 1 then begin Chromium.Load('ссылка2'); 
listbох1.SetFocus();
end;
 
end;
min@y™

min@y™ (статус: Доктор наук), 16 марта 2014, 20:41 [#14]:

Цитата (casio):

а может быть потеря фокуса из-за этой строчки?

А может быть фокус теряется уже после загрузки страницы из инета?
Вообще, странная конструкция из if...then. Что содержится в строках listBox? B где скриншот, который я просил?
Да, и дай-ка мне посмотреть исходник этого твоего Chromium.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
casio

casio (статус: Посетитель), 16 марта 2014, 22:13 [#15]:

min@y™: уже переделал через case of, так удобнее, скорее всего таки ты прав фокус теряется после загрузки страницы, а как его вернуть обратно?
вот все что касается этого компонента
http://handlercode.ru/tchromium2/

в строках находятся ссылки, "типо" закладки (google,vk.com)выше писал
min@y™

min@y™ (статус: Доктор наук), 16 марта 2014, 22:31 [#16]:

Я не понял, это чо, ИГНОР? Где ответы на мои вопросы?

Цитата (min@y™):

Что содержится в строках listBox?

Цитата (min@y™):

B где скриншот, который я просил?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
min@y™

min@y™ (статус: Доктор наук), 16 марта 2014, 22:55 [#17]:

Цитата (casio):

в строках находятся ссылки, "типо" закладки (google,vk.com)выше писал

Что там строки содержат БУКВАЛЬНО??!!
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
min@y™

min@y™ (статус: Доктор наук), 16 марта 2014, 23:00 [#18]:

А передавать фокус на ListBox можно в каком-нить событии браузера. Я хз, в каком, надо экспериментировать. Я бы начал с этих. навскидку:
    property OnBeforePopup: TOnBeforePopup read FOnBeforePopup write FOnBeforePopup;
    property OnAfterCreated: TOnAfterCreated read FOnAfterCreated write FOnAfterCreated;
    property OnBeforeClose: TOnBeforeClose read FOnBeforeClose write FOnBeforeClose;
    property OnClose: TOnClose read FOnClose write FOnClose;
    property OnRunModal: TOnRunModal read FOnRunModal write FOnRunModal;
 
    property OnLoadStart: TOnLoadStart read FOnLoadStart write FOnLoadStart;
    property <span style="text-decoration: underline;">OnLoadEnd</span>: TOnLoadEnd read FOnLoadEnd write FOnLoadEnd;
    property OnLoadError: TOnLoadError read FOnLoadError write FOnLoadError;
 
    property OnAuthCredentials: TOnAuthCredentials read FOnAuthCredentials write FOnAuthCredentials;
    property OnGetDownloadHandler: TOnGetDownloadHandler read FOnGetDownloadHandler write FOnGetDownloadHandler;
    property OnBeforeBrowse: TOnBeforeBrowse read FOnBeforeBrowse write FOnBeforeBrowse;
    property OnBeforeResourceLoad: TOnBeforeResourceLoad read FOnBeforeResourceLoad write FOnBeforeResourceLoad;
    property OnProtocolExecution: TOnProtocolExecution read FOnProtocolExecution write FOnProtocolExecution;
    property OnResourceResponse: TOnResourceResponse read FOnResourceResponse write FOnResourceResponse;
 
    property OnAddressChange: TOnAddressChange read FOnAddressChange write FOnAddressChange;
    property OnConsoleMessage: TOnConsoleMessage read FOnConsoleMessage write FOnConsoleMessage;
    property <span style="text-decoration: underline;">OnNavStateChange</span>: TOnNavStateChange read FOnNavStateChange
write FOnNavStateChange;
    property <span style="text-decoration: underline;">OnStatusMessage</span>: TOnStatusMessage read FOnStatusMessage
write FOnStatusMessage;
    property OnTitleChange: TOnTitleChange read FOnTitleChange write FOnTitleChange;
    property OnTooltip: TOnTooltip read FOnTooltip write FOnTooltip;
 
    property OnTakeFocus: TOnTakeFocus read FOnTakeFocus write FOnTakeFocus;
    property OnSetFocus: TOnSetFocus read FOnSetFocus write FOnSetFocus;
 
    property OnKeyEvent: TOnKeyEvent read FOnKeyEvent write FOnKeyEvent;
 
    property OnBeforeMenu: TOnBeforeMenu read FOnBeforeMenu write FOnBeforeMenu;
    property OnGetMenuLabel: TOnGetMenuLabel read FOnGetMenuLabel write FOnGetMenuLabel;
    property OnMenuAction: TOnMenuAction read FOnMenuAction write FOnMenuAction;
 
    property OnPrintHeaderFooter: TOnPrintHeaderFooter read FOnPrintHeaderFooter write FOnPrintHeaderFooter;
    property OnPrintOptions: TOnPrintOptions read FOnPrintOptions write FOnPrintOptions;
 
    property OnJsAlert: TOnJsAlert read FOnJsAlert write FOnJsAlert;
    property OnJsConfirm: TOnJsConfirm read FOnJsConfirm write FOnJsConfirm;
    property OnJsPrompt: TOnJsPrompt read FOnJsPrompt write FOnJsPrompt;
    property OnJsBinding: TOnJsBinding read FOnJsBinding write FOnJsBinding;
    property OnFindResult: TOnFindResult read FOnFindResult write FOnFindResult;
 
    property OnDragStart: TOnDragEvent read FOnDragStart write FOnDragStart;
    property OnDragEnter: TOnDragEvent read FOnDragEnter write FOnDragEnter;
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
casio

casio (статус: Посетитель), 17 марта 2014, 00:10 [#19]:

min@y™: ссори,был не за своим компьютером, вот
http://pixs.ru/showimage/Bezimeni1j_4031753_11266572.jpg
min@y™

min@y™ (статус: Доктор наук), 17 марта 2014, 00:26 [#20]:

Понятно. Короче, твои if ... then или case можно совсем выкинуть.

Цитата (casio):

ты прав фокус теряется после загрузки страницы

А браузеры так и должны работать, в принципе. Тыкнул на ссылку - открылась страница, на неё фокус.
Но если хочешь поизвращаться, попробуй передавать фокус в другой компонент по событию OnLoadEnd.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!

Страницы: [1] [2] [3] [Следующая »]

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 16:27
Выполнено за 0.04 сек.