Как отключить фокус на объекты

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Khachkara
Выключатель
Выключатель
Аватара пользователя
 
Сообщения: 65
Зарегистрирован: 06.04.2009 (Пн) 9:31

Как отключить фокус на объекты

Сообщение Khachkara » 11.04.2009 (Сб) 21:42

Как отключить фокус на объекты так чтобы на экране не было видно, что на данном объекте есть фокус.
Я новичок в VB, к тому же еще самоучка, прошу сильно не ругать.

Duxoвник
Начинающий
Начинающий
Аватара пользователя
 
Сообщения: 16
Зарегистрирован: 06.01.2009 (Вт) 18:48

Re: Как отключить фокус на объекты

Сообщение Duxoвник » 11.04.2009 (Сб) 21:55

А как же тогда быть с текстовыми полями или полями ввода данных...?
Время стирает ошибку и отшлифовывает истину.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Как отключить фокус на объекты

Сообщение Хакер » 11.04.2009 (Сб) 22:12

Какого черта может понадобиться отключать отображение фокус-ректа? Цель: навредить пользователю?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: Как отключить фокус на объекты

Сообщение iGrok » 11.04.2009 (Сб) 22:20

Duxoвник писал(а):А как же тогда быть с текстовыми полями или полями ввода данных...?

А какая ему разница? Ему главное "отключить фокус на объекты", а как на это будет реагировать пользователь или система...
label:
cli
jmp label

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Как отключить фокус на объекты

Сообщение Хакер » 11.04.2009 (Сб) 22:31

[offtopic]Наверное этому пользователю мы дадим звание «Выключитель». Ибо ему то фокус надо отключить, то мышь и клавиатуру.[/offtopic]
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Khachkara
Выключатель
Выключатель
Аватара пользователя
 
Сообщения: 65
Зарегистрирован: 06.04.2009 (Пн) 9:31

Re: Как отключить фокус на объекты

Сообщение Khachkara » 11.04.2009 (Сб) 22:54

Duxoвник писал(а): А как же тогда быть с текстовыми полями или полями ввода данных...?

Может же быть, так что в приложении нет никаких полей для ввода и текстовых полей.

Duxoвник писал(а): Какого черта может понадобиться отключать отображение фокус-ректа? Цель: навредить пользователю?

Как вы догадались?
А вы что из отдела по защите прав потребителя?

iGrok писал(а): А какая ему разница? Ему главное "отключить фокус на объекты", а как на это будет реагировать пользователь или система...

Давайте, пожалуйста, по конструктивней господа, если знаете ответ, будьте добры поделитесь им, пожалуйста, если вам жалко делиться своим опытом и знаниями можете этого не делать, но и не надо ничего писать и критиковать и отвлекать всех. Тут люди обращаются за помощью, а не за критикой, не все должны писать программы как это делаете вы. Знаете ответ – отвечайте, не знаете не надо лирикой заниматься. Лирикой это еще мягко сказано.
Такое ощущение что вы пишете всё это ради того чтобы увеличить количество сообщений и повысить свой рейтинг.
Я новичок в VB, к тому же еще самоучка, прошу сильно не ругать.

Khachkara
Выключатель
Выключатель
Аватара пользователя
 
Сообщения: 65
Зарегистрирован: 06.04.2009 (Пн) 9:31

Re: Как отключить фокус на объекты

Сообщение Khachkara » 11.04.2009 (Сб) 23:04

Хакер писал(а):Наверное этому пользователю мы дадим звание «Выключитель». Ибо ему то фокус надо отключить, то мышь и клавиатуру.

За звание спасибо :D господа критики.
Зато я сейчас знаю, как выключить мышь и клавиатуру, а как этим пользоваться, это уже другой вопрос.
Давайте сразу договариваться, я еще много чего буду отключать и включать на этом форуме и я готов принять любую критику после того как дадите решение на мой вопрос.
Я новичок в VB, к тому же еще самоучка, прошу сильно не ругать.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Как отключить фокус на объекты

Сообщение Хакер » 11.04.2009 (Сб) 23:05

А вы что из отдела по защите прав потребителя?

Нет, я из отдела по борьбе с бредом и созданием плохих программ.

не все должны писать программы как это делаете вы.

Все должны писать программы так, как это указано в guidlines.

и не надо ничего писать и критиковать и отвлекать всех.

Вообще-то, каждый имеет право писать всё, что он хочет. Лишь бы это не противоречило правилам. Каждый имеет право отвечать, не отвечать, отвечать ровно в той степени, в какой посчитает нужным, давать не обязательно правильные ответы.
Вообще-то, я бы советовал тебе сменить тон, и не вести себя так, как будто тебе тут все должны. Тебе здесь, во-первых, никто ничего не должен. Во-вторых, в данном случае «отвлекать всех» (под «всеми» ты же имеешь в виду остальных быдлокодеров, людей, разделяющих твои взгляды) полезно.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Khachkara
Выключатель
Выключатель
Аватара пользователя
 
Сообщения: 65
Зарегистрирован: 06.04.2009 (Пн) 9:31

Re: Как отключить фокус на объекты

Сообщение Khachkara » 11.04.2009 (Сб) 23:30

Вообще-то, каждый имеет право писать всё, что он хочет. Лишь бы это не противоречило правилам. Каждый имеет право отвечать, не отвечать, отвечать ровно в той степени, в какой посчитает нужным, давать не обязательно правильные ответы.
Вообще-то, я бы советовал тебе сменить тон, и не вести себя так, как будто тебе тут все должны. Тебе здесь, во-первых, никто ничего не должен. Во-вторых, в данном случае «отвлекать всех» (под «всеми» ты же имеешь в виду остальных быдлокодеров, людей, разделяющих твои взгляды) полезно.

С вами все ясно.
Быдлокодеры как раз именно те кто надули своё самомнение и считают себя богом в программировании и не несут никакого конструкива в своих сообщениях.
Будь другом не читай мои сообщения и не отвечай на них я тебе очень прошу, только одно твоё фото раздражает меня.
Я не хочу чтобы ты меня учил и помогал.
Я новичок в VB, к тому же еще самоучка, прошу сильно не ругать.

MIT
Мега гуру
Мега гуру
Аватара пользователя
 
Сообщения: 2211
Зарегистрирован: 17.09.2006 (Вс) 22:46

Re: Как отключить фокус на объекты

Сообщение MIT » 11.04.2009 (Сб) 23:35

Кстати, а, помниться, мне как-то тоже приходилось отключать фокус у какого-то контрола. Правда давно это было, уже и не помню зачем делал... :)
Изображение
You can change your face, but can`t change your mind. No matter what you do.
Создайте еще более понятный интерфейс и мир создаст еще более тупого юзера. (с) Баш

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Как отключить фокус на объекты

Сообщение Хакер » 11.04.2009 (Сб) 23:39

Будь другом не читай мои сообщения и не отвечай на них я тебе очень прошу, только одно твоё фото раздражает меня.
Я не хочу чтобы ты меня учил и помогал.

Советю почитать правила. Там написано:
Форумы предоставляются по принципу "AS IS" ("как есть"), администрация не гарантирует, что форумы не содержат ошибок, а также не несет никакой ответственности за прямые или косвенные последствия использования форумов, в том числе возникшие из-за возможных ошибок или опечаток в форуме.

Администрация не предоставляет никаких гарантий, явных или подразумеваемых, что форумы будет отвечать вашим требованиям или ожиданиям, будет соответствовать вашим целям и задачам.


Иными словами: Не нравится — тебя здесь никто не держит.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Khachkara
Выключатель
Выключатель
Аватара пользователя
 
Сообщения: 65
Зарегистрирован: 06.04.2009 (Пн) 9:31

Re: Как отключить фокус на объекты

Сообщение Khachkara » 12.04.2009 (Вс) 0:00

Подскажите пожалуйста, как отключить фокус на объекты так чтобы на экране не было видно, что на данном объекте есть фокус.
Просьба писать по сути, болтовни не надо.
Я новичок в VB, к тому же еще самоучка, прошу сильно не ругать.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Как отключить фокус на объекты

Сообщение Хакер » 12.04.2009 (Вс) 0:02

Никак, ё-моё.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Khachkara
Выключатель
Выключатель
Аватара пользователя
 
Сообщения: 65
Зарегистрирован: 06.04.2009 (Пн) 9:31

Re: Как отключить фокус на объекты

Сообщение Khachkara » 12.04.2009 (Вс) 0:17

MIT писал(а):Кстати, а, помниться, мне как-то тоже приходилось отключать фокус у какого-то контрола. Правда давно это было, уже и не помню зачем делал... :)

Вспоминай пожалуйста :)
Я новичок в VB, к тому же еще самоучка, прошу сильно не ругать.

arvitaly
Постоялец
Постоялец
 
Сообщения: 485
Зарегистрирован: 12.04.2009 (Вс) 0:30
Откуда: Казань

Re: Как отключить фокус на объекты

Сообщение arvitaly » 12.04.2009 (Вс) 1:46

А если передавать фокус другому объекту за пределами видимости?

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Как отключить фокус на объекты

Сообщение Хакер » 12.04.2009 (Вс) 1:51

Угу. И все клавиатурные сообщения будут идти ему...
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

arvitaly
Постоялец
Постоялец
 
Сообщения: 485
Зарегистрирован: 12.04.2009 (Вс) 0:30
Откуда: Казань

Re: Как отключить фокус на объекты

Сообщение arvitaly » 12.04.2009 (Вс) 2:01

Может же быть, так что в приложении нет никаких полей для ввода и текстовых полей.


Исходил из этого, и потом что страшного в этом (text1 -невидимый контрол)

Private Sub text1_Change()
text2.Text = text1.Text
End Sub

Private Sub text2_GotFocus()
text1.SetFocus
End Sub

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Как отключить фокус на объекты

Сообщение Хакер » 12.04.2009 (Вс) 2:07

Во-первых, причём тут TextBox? Автор написал, что у него их нет. У него кнопки, например. Во-вторых, если бы у автора были бы текстбоксы, ты бы каждому TB создавал напарника?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

arvitaly
Постоялец
Постоялец
 
Сообщения: 485
Зарегистрирован: 12.04.2009 (Вс) 0:30
Откуда: Казань

Re: Как отключить фокус на объекты

Сообщение arvitaly » 12.04.2009 (Вс) 2:26

Код: Выделить всё
'На форме нужно расположить 2 кнопки (command1 и command2) и текстбокс, command1 - за пределы видимости
Dim objSF As Long
Private Const WM_KEYUP = &H101
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 Sub command1_KeyUp(KeyCode As Integer, Shift As Integer)
    MsgBox "На скрытой кнопке нажали и отпустили " & Chr(KeyCode)
End Sub

Private Sub command2_KeyUP(KeyCode As Integer, Shift As Integer)
Dim kc As Long
    kc = KeyCode
    Call SendMessage(objSF, WM_KEYUP, kc, 0)
End Sub


Private Sub command1_GotFocus()
    objSF = command1.hwnd
    command2.SetFocus
End Sub

Private Sub text1_GotFocus()
    objSF = text1.hwnd
    command2.SetFocus
End Sub

Private Sub text1_KeyDown(KeyCode As Integer, Shift As Integer)

End Sub

Private Sub text1_KeyUp(KeyCode As Integer, Shift As Integer)
    MsgBox "На скрытой кнопке нажали и отпустили " & Chr(KeyCode)
End Sub



Ну и вообще можно делать что угодно

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Как отключить фокус на объекты

Сообщение Хакер » 12.04.2009 (Вс) 11:26

Наивный ты.

Кнопки не единственная вещь в мире, которая может иметь фокус. Фокус может быть у ListView, TreeView, скроллеров, слайдеров, апдаунов, Option и Check боксов.

Предлагаешь дублировать всё? Предлагаешь писать тонны кода?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

arvitaly
Постоялец
Постоялец
 
Сообщения: 485
Зарегистрирован: 12.04.2009 (Вс) 0:30
Откуда: Казань

Re: Как отключить фокус на объекты

Сообщение arvitaly » 12.04.2009 (Вс) 14:58

Во первых я не наивный а реалистичный.

Есть задача - есть решение.

Во вторых где там тонны кода? Если лень тогда можно добавить 6 различных элементов (как то листбокс, комбобокс и т.д.) и 6 строчек кода на каждое событие.

Во вторых. Если не лень число строчек можно сократить в 6 раз, как показано у меня в примере

SLIM
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1840
Зарегистрирован: 04.04.2008 (Пт) 18:21
Откуда: Краснодар

Re: Как отключить фокус на объекты

Сообщение SLIM » 12.04.2009 (Вс) 17:00

Да вы что в самом то деле?
Зачем такое может понадобиться в Win32 приложении?
Сказано русским языком - фокус должен быть при открытии по умолчанию на кнопке "ОК" или подобных.
Давай еще и tab-перемещение отменим нафиг. Пусть пользователь вообще сума сойдет.
А еще лучше чтобы пользователь только видел окно, но ничего не мог с ним сделать - даже закрыть. В том числе через завершение процессов. И чтобы винда не перезагружалась и чтобы свет не вырубался. Пусть будет вечное приложение на экране.
Пишите жизнь на чистовик.....переписать не удастся.....

arvitaly
Постоялец
Постоялец
 
Сообщения: 485
Зарегистрирован: 12.04.2009 (Вс) 0:30
Откуда: Казань

Re: Как отключить фокус на объекты

Сообщение arvitaly » 12.04.2009 (Вс) 20:08

SLIM

Я честно целый час думал зачем это может понадобиться, но на ум ничего так и не пришло, АВТОР поведай ЧТО ЗА ЧУДО ЮДО?

Williams
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1280
Зарегистрирован: 06.05.2008 (Вт) 18:35
Откуда: System.Reflection.Williams (увидел себя в зеркале :))

Re: Как отключить фокус на объекты

Сообщение Williams » 12.04.2009 (Вс) 21:10

Я в начале карьеры тоже убирал фокусректы с кнопок, т.к. они по-моему мнению плохо смотрелись :)
И вы думаете, что вас оставят в живых после прочтения этого поста?

dr.MIG
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1441
Зарегистрирован: 18.12.2004 (Сб) 9:53
Откуда: г.Ярославль

Re: Как отключить фокус на объекты

Сообщение dr.MIG » 12.04.2009 (Вс) 21:12

Конструктивное предложение автору: напиши свой контрол и реализуй в нем любое нужное тебе поведение, в том числе отсутствие rect-a.


Обязательно напиши свой контрол, ибо нереализованные сексуальные фантазии (отключение фокуса, клавиатуры, мыши и т.п.) могут вылиться в реальное соматическое заболевание...
Salus populi suprema lex

Khachkara
Выключатель
Выключатель
Аватара пользователя
 
Сообщения: 65
Зарегистрирован: 06.04.2009 (Пн) 9:31

Re: Как отключить фокус на объекты

Сообщение Khachkara » 12.04.2009 (Вс) 22:21

Williams писал(а):Я в начале карьеры тоже убирал фокусректы с кнопок, т.к. они по-моему мнению плохо смотрелись :)

подскажи пожалуйста как ты это делал

dr.MIG писал(а):Конструктивное предложение автору: напиши свой контрол и реализуй в нем любое нужное тебе поведение, в том числе отсутствие rect-a.
Обязательно напиши свой контрол, ибо нереализованные сексуальные фантазии (отключение фокуса, клавиатуры, мыши и т.п.) могут вылиться в реальное соматическое заболевание...

Я не волшебник я только учусь и контроли писать не умею

SLIM писал(а):Да вы что в самом то деле?
Зачем такое может понадобиться в Win32 приложении?
Сказано русским языком - фокус должен быть при открытии по умолчанию на кнопке "ОК" или подобных.
Давай еще и tab-перемещение отменим нафиг. Пусть пользователь вообще сума сойдет.
А еще лучше чтобы пользователь только видел окно, но ничего не мог с ним сделать - даже закрыть. В том числе через завершение процессов. И чтобы винда не перезагружалась и чтобы свет не вырубался. Пусть будет вечное приложение на экране.

так надо...
Я новичок в VB, к тому же еще самоучка, прошу сильно не ругать.

Khachkara
Выключатель
Выключатель
Аватара пользователя
 
Сообщения: 65
Зарегистрирован: 06.04.2009 (Пн) 9:31

Re: Как отключить фокус на объекты

Сообщение Khachkara » 13.04.2009 (Пн) 0:31

Спасибо за слово
Williams писал(а):фокусректы

с помощью его нашел ссылку
http://msdn.microsoft.com/en-us/library/aa240296(VS.60).aspx
вижу, что можно скрыть фокус, но пока не разобрался в синтаксисе
object.FocusRect [= value]
что подразумевается под словом object?
Это может быть кнопка, TextBox и т.д.
Я пробовал применить на кнопке, не получилось.
Я новичок в VB, к тому же еще самоучка, прошу сильно не ругать.

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: Как отключить фокус на объекты

Сообщение iGrok » 13.04.2009 (Пн) 1:25

Khachkara писал(а):что подразумевается под словом object?
Это может быть кнопка, TextBox и т.д.
Я пробовал применить на кнопке, не получилось.

Это может быть только MSFlexGrid/MSHFlexGrid. Там это написано, если что.
label:
cli
jmp label

Khachkara
Выключатель
Выключатель
Аватара пользователя
 
Сообщения: 65
Зарегистрирован: 06.04.2009 (Пн) 9:31

Re: Как отключить фокус на объекты

Сообщение Khachkara » 13.04.2009 (Пн) 8:27

iGrok писал(а):Это может быть только MSFlexGrid/MSHFlexGrid. Там это написано, если что.

А что это за тип объектов?
Это Visual Basic или другой язык. Вроде было написано VB
Я новичок в VB, к тому же еще самоучка, прошу сильно не ругать.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Как отключить фокус на объекты

Сообщение Хакер » 13.04.2009 (Пн) 9:00

:roll:
Это контрол. Причём тут языки?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

След.

Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 22

    TopList