Используй вместо Image - PictureBox -- мерцания должны пропасть.
Visual Basic в вопросах и ответах
- \\Sergey//
- Открыл глаза
- Сообщения: 76
- Зарегистрирован: Ср апр 25, 2007 08:56:09
- Откуда: Москва
- \\Sergey//
- Открыл глаза
- Сообщения: 76
- Зарегистрирован: Ср апр 25, 2007 08:56:09
- Откуда: Москва
Твой код должен располагаться внутри процедуры Picture1_KeyDown, где Picture1 - имя контрола, который будет "принимать" нажатия клавиш.
В качестве примера:
В качестве примера:
Код: Выделить всё
Private Sub Picture1_KeyDown(KeyCode As Integer, Shift As Integer)
MsgBox KeyCode ' Выводим код нажатой клавиши
End SubГде нужен массовый опыт, кропотливые наблюдения, негнущаяся настойчивость без уступок, бесстрашная смелость воплощения мысли, - там выступает радиолюбитель.
-
sevastianov
- Первый раз сказал Мяу!
- Сообщения: 29
- Зарегистрирован: Ср июн 06, 2007 07:02:13
- Откуда: Ульяновск
- Контактная информация:
Функция CHR
В VB есть функция Chr для возвращения символа, связанного с определенным числовым кодом.
А есть ли какая-нибудь API-функция позволяющая сделать то же самое, т.е. получить символ?

А есть ли какая-нибудь API-функция позволяющая сделать то же самое, т.е. получить символ?
Клянусь Вискасом!
- \\Sergey//
- Открыл глаза
- Сообщения: 76
- Зарегистрирован: Ср апр 25, 2007 08:56:09
- Откуда: Москва
А смысл?
Можно отправить окну, который должен получить символ по его ASCII-коду сообщение WM_CHAR с помощью API-функции SendMessage.
Пример:
На форме должны быть:
Command1 - кнопка
Text1 - текстовое поле
P.S. Но смысла в этом я, лично, не вижу.
Можно отправить окну, который должен получить символ по его ASCII-коду сообщение WM_CHAR с помощью API-функции SendMessage.
Пример:
Код: Выделить всё
Option Explicit
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 Const WM_CHAR = &H102
Private Sub Command1_Click()
Call SendMessage(Text1.hwnd, WM_CHAR, 65, ByVal 0&)
End SubНа форме должны быть:
Command1 - кнопка
Text1 - текстовое поле
P.S. Но смысла в этом я, лично, не вижу.
Где нужен массовый опыт, кропотливые наблюдения, негнущаяся настойчивость без уступок, бесстрашная смелость воплощения мысли, - там выступает радиолюбитель.
-
sevastianov
- Первый раз сказал Мяу!
- Сообщения: 29
- Зарегистрирован: Ср июн 06, 2007 07:02:13
- Откуда: Ульяновск
- Контактная информация:
Оно.
Спасибо!
Это примерно то что надо.
Во всяком случае направление поиска указано.

Это примерно то что надо.
Во всяком случае направление поиска указано.
Клянусь Вискасом!
- \\Sergey//
- Открыл глаза
- Сообщения: 76
- Зарегистрирован: Ср апр 25, 2007 08:56:09
- Откуда: Москва
Код: Выделить всё
SavePicture Picture1.Picture, "C:\1.bmp"Где нужен массовый опыт, кропотливые наблюдения, негнущаяся настойчивость без уступок, бесстрашная смелость воплощения мысли, - там выступает радиолюбитель.
Вот читаю сейчас исходники с одного сайта. Для увеличения, так сказать, объема знаний... И не могу понять одну вещь. Что значит "Option explicit" в начале некоторых кодов?
И еще. Прочитал про АРI функцию "RegisterServiceProcess". Но у меня почему-то выскакивает сообщение, что данная функция не найдена в библиотеке. Может я неправильно название пишу?
И еще. Прочитал про АРI функцию "RegisterServiceProcess". Но у меня почему-то выскакивает сообщение, что данная функция не найдена в библиотеке. Может я неправильно название пишу?
- gan
- Открыл глаза
- Сообщения: 43
- Зарегистрирован: Пн мар 24, 2008 15:36:17
- Откуда: Сургут
- Контактная информация:
Cмотри MSDN:
When Option Explicit appears in a module, you must explicitly declare all variables using the Dim, Private, Public, ReDim, or Static statements. If you attempt to use an undeclared variable name, an error occurs atcompile time.
-когда в модуле есть Option Explicit, вы должны явно объявить все переменные, используя Dim, Private, Public, ReDim, or Static. Если попытаешься использовать необъявленное имя переменной, при компиляции выдаст ошибку.
If you don't use the Option Explicit statement, all undeclared variables are of Variant type unless the default type is otherwise specified with a Deftype statement.
-если Option Explicit не используешь, все необъявленные переменные будут типа Variant...
Удобная штука, если хочешь избежать путаницы с переменными. Например, если ошибёшься в одной букве, без Option Explicit будет создана новая переменная, которую потом будет сложно отследить, а так компилятор тебе скажет "Пардон, такой переменной не существует"
When Option Explicit appears in a module, you must explicitly declare all variables using the Dim, Private, Public, ReDim, or Static statements. If you attempt to use an undeclared variable name, an error occurs atcompile time.
-когда в модуле есть Option Explicit, вы должны явно объявить все переменные, используя Dim, Private, Public, ReDim, or Static. Если попытаешься использовать необъявленное имя переменной, при компиляции выдаст ошибку.
If you don't use the Option Explicit statement, all undeclared variables are of Variant type unless the default type is otherwise specified with a Deftype statement.
-если Option Explicit не используешь, все необъявленные переменные будут типа Variant...
Удобная штука, если хочешь избежать путаницы с переменными. Например, если ошибёшься в одной букве, без Option Explicit будет создана новая переменная, которую потом будет сложно отследить, а так компилятор тебе скажет "Пардон, такой переменной не существует"
- \\Sergey//
- Открыл глаза
- Сообщения: 76
- Зарегистрирован: Ср апр 25, 2007 08:56:09
- Откуда: Москва
И еще. Прочитал про АРI функцию "RegisterServiceProcess". Но у меня почему-то выскакивает сообщение, что данная функция не найдена в библиотеке. Может я неправильно название пишу?
В Windows NT/2000/XP эта функция отсутствует.[/quote]
Где нужен массовый опыт, кропотливые наблюдения, негнущаяся настойчивость без уступок, бесстрашная смелость воплощения мысли, - там выступает радиолюбитель.
-
Foks
- Поставщик валерьянки для Кота
- Сообщения: 2108
- Зарегистрирован: Пт авг 29, 2008 16:28:19
- Откуда: Киев
P-cad писал(а):Вот читаю сейчас исходники с одного сайта. Для увеличения, так сказать, объема знаний... И не могу понять одну вещь. Что значит "Option explicit" в начале некоторых кодов?
И еще. Прочитал про АРI функцию "RegisterServiceProcess". Но у меня почему-то выскакивает сообщение, что данная функция не найдена в библиотеке. Может я неправильно название пишу?
С данной функцией не работал, но возможно нужно вызывать RegisterServiceProcessA? В WinAPI суффиксы A (Ansi) и W (Unicode) дописываются, если функции передается строковый параметр.
-
Marvel
- Родился
- Сообщения: 17
- Зарегистрирован: Ср сен 17, 2008 07:56:59
- Откуда: Казахстан
- Контактная информация:
Всем доброго времени суток!!! Понимаю что мой вопрос прозвучит глупо, и мне скажут, что тема избита и пользуйся поиском....
Но проблема вот в чем у меня мк через Com к компу подключен отлично передает и принимает информацию от терминала. Пользуюсь Visual Basic 2005 в нем при помощи встроенного компонента SerialPort передаю на мк данные, а вот принимать их не получается.
У меня на мк на одном из входов появляется лог 1 от радиопульта, вот мне нужно что бы мой комп без (относительных) задержек отреагировал на нажатие кнопки пульта. МК все без проблем передает нажимаешь кнопку пульта и в терминале выскакивает сообщение о нажатии. Помогите пожалуйста, желательно использовать встроенный компонент SerialPort так должно быть попроще.
Но проблема вот в чем у меня мк через Com к компу подключен отлично передает и принимает информацию от терминала. Пользуюсь Visual Basic 2005 в нем при помощи встроенного компонента SerialPort передаю на мк данные, а вот принимать их не получается.
У меня на мк на одном из входов появляется лог 1 от радиопульта, вот мне нужно что бы мой комп без (относительных) задержек отреагировал на нажатие кнопки пульта. МК все без проблем передает нажимаешь кнопку пульта и в терминале выскакивает сообщение о нажатии. Помогите пожалуйста, желательно использовать встроенный компонент SerialPort так должно быть попроще.
-
zverotechnik
- Открыл глаза
- Сообщения: 49
- Зарегистрирован: Сб ноя 08, 2008 06:15:17
- Секретный кот
- Поставщик валерьянки для Кота
- Сообщения: 2106
- Зарегистрирован: Ср сен 17, 2008 14:32:15
- Откуда: Старые Васюки
- Контактная информация:
- \\Sergey//
- Открыл глаза
- Сообщения: 76
- Зарегистрирован: Ср апр 25, 2007 08:56:09
- Откуда: Москва
- Секретный кот
- Поставщик валерьянки для Кота
- Сообщения: 2106
- Зарегистрирован: Ср сен 17, 2008 14:32:15
- Откуда: Старые Васюки
- Контактная информация:
Re: Visual Basic в вопросах и ответах
P-cad писал(а):Я занимабсь программированием на Visual Basic 6.0.
Подскажите, пожалуйста:
1. Почему он не хочет удалять файлы с атрибутом "для чтения" и файлы с названием, начинающимися с пробела?
вот код:
_____
Private Sub OPN click()
Dim FN as string
CD.ShowOpen
FN = CD.FileName
Kill (FN)
End Sub
_____
где OPN - кнопка, при нажатии которой появляется объект типа CommonDialog(имя - CD), а после открытия файл (FN - имя файла) удаляется.
2.Есть объект типа OLE с именем OLE1 типа "файл презентации". Есть кнопка (OPN), при нажатии которой программа выдаёт объект CommonDialog (CD) с фильтром файлов формата PPT(файлы презентаций). после открытия презентация должна показываться в OLE1. Но она не хочет. Где ошибка:
_____
Private Sub OPN click()
CD.ShowOpen
OLE1.SourceDoc = CD.FileName
End Sub
Извините, если вы занимаетесь такими вещами, может у вас есть код приема информации по последовательному порту (СОМ)в формате 8 бит данных,1стартовый и стоповый бит, 9600бод. Прога получает код и где-то его складывает. Спасибо зараннее
-
pirotehnick
- Потрогал лапой паяльник
- Сообщения: 327
- Зарегистрирован: Пт фев 08, 2008 13:46:03
- Откуда: Воронеж
- Контактная информация: