Используй вместо Image - PictureBox -- мерцания должны пропасть.
Visual Basic в вопросах и ответах
- Реклама
- Сообщения: 166
- Зарегистрирован: Вс фев 04, 2007 20:15:56
Твой код должен располагаться внутри процедуры Picture1_KeyDown, где Picture1 - имя контрола, который будет "принимать" нажатия клавиш.
В качестве примера:
В качестве примера:
Код: Выделить всё
Private Sub Picture1_KeyDown(KeyCode As Integer, Shift As Integer)
MsgBox KeyCode ' Выводим код нажатой клавиши
End SubГде нужен массовый опыт, кропотливые наблюдения, негнущаяся настойчивость без уступок, бесстрашная смелость воплощения мысли, - там выступает радиолюбитель.
- Сообщения: 166
- Зарегистрирован: Вс фев 04, 2007 20:15:56
В VB есть функция Chr для возвращения символа, связанного с определенным числовым кодом.
А есть ли какая-нибудь API-функция позволяющая сделать то же самое, т.е. получить символ?

А есть ли какая-нибудь API-функция позволяющая сделать то же самое, т.е. получить символ?
Клянусь Вискасом!
- Реклама
А смысл? 
Можно отправить окну, который должен получить символ по его 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 SubCommand1 - кнопка
Text1 - текстовое поле
P.S. Но смысла в этом я, лично, не вижу.
Где нужен массовый опыт, кропотливые наблюдения, негнущаяся настойчивость без уступок, бесстрашная смелость воплощения мысли, - там выступает радиолюбитель.
Спасибо!
Это примерно то что надо.
Во всяком случае направление поиска указано.

Это примерно то что надо.
Во всяком случае направление поиска указано.
Клянусь Вискасом!
- Сообщения: 166
- Зарегистрирован: Вс фев 04, 2007 20:15:56
Код: Выделить всё
SavePicture Picture1.Picture, "C:\1.bmp"Где нужен массовый опыт, кропотливые наблюдения, негнущаяся настойчивость без уступок, бесстрашная смелость воплощения мысли, - там выступает радиолюбитель.
- Сообщения: 166
- Зарегистрирован: Вс фев 04, 2007 20:15:56
Вот читаю сейчас исходники с одного сайта. Для увеличения, так сказать, объема знаний... И не могу понять одну вещь. Что значит "Option explicit" в начале некоторых кодов?
И еще. Прочитал про АРI функцию "RegisterServiceProcess". Но у меня почему-то выскакивает сообщение, что данная функция не найдена в библиотеке. Может я неправильно название пишу?
И еще. Прочитал про АРI функцию "RegisterServiceProcess". Но у меня почему-то выскакивает сообщение, что данная функция не найдена в библиотеке. Может я неправильно название пишу?
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 будет создана новая переменная, которую потом будет сложно отследить, а так компилятор тебе скажет "Пардон, такой переменной не существует"
В Windows NT/2000/XP эта функция отсутствует.[/quote]И еще. Прочитал про АРI функцию "RegisterServiceProcess". Но у меня почему-то выскакивает сообщение, что данная функция не найдена в библиотеке. Может я неправильно название пишу?
Где нужен массовый опыт, кропотливые наблюдения, негнущаяся настойчивость без уступок, бесстрашная смелость воплощения мысли, - там выступает радиолюбитель.
С данной функцией не работал, но возможно нужно вызывать RegisterServiceProcessA? В WinAPI суффиксы A (Ansi) и W (Unicode) дописываются, если функции передается строковый параметр.P-cad писал(а):Вот читаю сейчас исходники с одного сайта. Для увеличения, так сказать, объема знаний... И не могу понять одну вещь. Что значит "Option explicit" в начале некоторых кодов?
И еще. Прочитал про АРI функцию "RegisterServiceProcess". Но у меня почему-то выскакивает сообщение, что данная функция не найдена в библиотеке. Может я неправильно название пишу?
Всем доброго времени суток!!! Понимаю что мой вопрос прозвучит глупо, и мне скажут, что тема избита и пользуйся поиском....
Но проблема вот в чем у меня мк через Com к компу подключен отлично передает и принимает информацию от терминала. Пользуюсь Visual Basic 2005 в нем при помощи встроенного компонента SerialPort передаю на мк данные, а вот принимать их не получается.
У меня на мк на одном из входов появляется лог 1 от радиопульта, вот мне нужно что бы мой комп без (относительных) задержек отреагировал на нажатие кнопки пульта. МК все без проблем передает нажимаешь кнопку пульта и в терминале выскакивает сообщение о нажатии. Помогите пожалуйста, желательно использовать встроенный компонент SerialPort так должно быть попроще.
Но проблема вот в чем у меня мк через Com к компу подключен отлично передает и принимает информацию от терминала. Пользуюсь Visual Basic 2005 в нем при помощи встроенного компонента SerialPort передаю на мк данные, а вот принимать их не получается.
У меня на мк на одном из входов появляется лог 1 от радиопульта, вот мне нужно что бы мой комп без (относительных) задержек отреагировал на нажатие кнопки пульта. МК все без проблем передает нажимаешь кнопку пульта и в терминале выскакивает сообщение о нажатии. Помогите пожалуйста, желательно использовать встроенный компонент SerialPort так должно быть попроще.
- Сообщения: 49
- Зарегистрирован: Сб ноя 08, 2008 06:15:17
В P2P сетях, вестимо. Там есть всё. Какая нынче последняя версия VB?
И такой есть.
ed2k://|file|Visual%20basic2008.rar|730824704|F1F45EAB7149D8EEA0FE4984AD7555AA|/
(пока не проверял)
ed2k://|file|Visual%20basic2008.rar|730824704|F1F45EAB7149D8EEA0FE4984AD7555AA|/
(пока не проверял)
- Сообщения: 10
- Зарегистрирован: Чт дек 18, 2008 19:18:59
Извините, если вы занимаетесь такими вещами, может у вас есть код приема информации по последовательному порту (СОМ)в формате 8 бит данных,1стартовый и стоповый бит, 9600бод. Прога получает код и где-то его складывает. Спасибо зараннее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
В библиотеке NET есть стандартный класс SerialPort - это и есть класс для работы с COM портом.


