|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » VBA - Visual Basic 2008 |
|
VBA - Visual Basic 2008
|
Старожил Сообщения: 161 |
Профиль | Сайт | Отправить PM | Цитировать
Подскажите как сделать так : допустим, если нажать на форме правой кнопкой мыши, то вылетет MsgBox(123), а если нажать левой, то MsgBox(098).
Спасибо за внимание. >>Блин, не дописал в названии темы : Действие при нажатии правой кнопки |
|
Отправлено: 17:47, 24-04-2008 |
Ветеран Сообщения: 5624
|
Профиль | Отправить PM | Цитировать Uzvern, вы там винду новую пишете?
Цитата Uzvern:
desktop.ini в папке: [.ShellClassInfo] IconFile=%SystemRoot%\system32\SHELL32.dll IconIndex=22 Примерно так. Создать файл и запихать туда нужные строки. А вообще посмотрите функции Shell, там должно это быть. Цитата:
|
||
------- Отправлено: 01:28, 23-09-2008 | #271 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Старожил Сообщения: 161
|
Профиль | Сайт | Отправить PM | Цитировать Ну вот написал код, но чет он не пашет (Все создает, ноиконку не меняет) :
Public Class Form1 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim i As Integer Do While IO.Directory.Exists("C:\" & i) i += 1 Loop MkDir("C:\" & i) Try If IO.File.Exists("C:\" & i & "\desktop.ini") Then IO.File.SetAttributes("C:\" & i & "\desktop.ini", IO.FileAttributes.Normal) End If Dim File As Integer = FreeFile() FileOpen(File, "C:\" & i & "\desktop.ini", OpenMode.Output) PrintLine(File, "[.ShellClassInfo]") PrintLine(File, "IconFile=%SystemRoot%\system32\SHELL32.dll") PrintLine(File, "IconIndex=25") FileClose(File) IO.File.SetAttributes("C:\" & i & "\desktop.ini", IO.FileAttributes.System) IO.File.SetAttributes("C:\" & i & "\desktop.ini", IO.FileAttributes.Hidden) Shell("explorer /select, C:\" & i, AppWinStyle.NormalFocus) End Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Critical, "Error") End End Try End Sub End Class |
Отправлено: 17:40, 23-09-2008 | #272 |
Ветеран Сообщения: 5624
|
Профиль | Отправить PM | Цитировать Да, действительно, просто создание файла desktop.ini не дает нужного результата. Об этом писали здесь .
Похоже, единственные вариант - использовать функции Shell, пример использования(на делфи) есть здесь. Если брать VB или C#, то описание задано в статье MSDN : Цитата:
|
|
------- Отправлено: 01:17, 24-09-2008 | #273 |
Старожил Сообщения: 161
|
Профиль | Сайт | Отправить PM | Цитировать Как можно изменить размеры верхней (главной) строки программы (Где название, иконка, кнопки закрытия/максимизации/минимизации) ?
|
Отправлено: 11:54, 03-10-2008 | #274 |
Ветеран Сообщения: 3320
|
Профиль | Отправить PM | Цитировать Эта строка называется TitleBar, её параметры устанавливаются в настройках Виндовса, значения можно получить командой MsgBox(SystemInformation.CaptionHeight.ToString)
или Dim TitlebarHeight As Integer = Me.Height - Me.ClientSize.Height - Me.Width + Me.ClientSize.Width MsgBox(TitlebarHeight) Как вариант решения можно создать свою аналогию, перерисовав графику, но стоит ли тогда вообще строить квадратно подобные формы? Если не стоит, то вот как примерно такое окно можно построить, по готовому нарисованному рисунку. Так же пример по С#. |
Отправлено: 23:23, 03-10-2008 | #275 |
Старожил Сообщения: 161
|
Профиль | Сайт | Отправить PM | Цитировать А как-то можно изменить размеры CaptionHeight?
По нарисованому рисунку не интерестно. Я хочу именно CaptionHeight изменить |
Отправлено: 14:41, 04-10-2008 | #276 |
Ветеран Сообщения: 3320
|
Профиль | Отправить PM | Цитировать Uzvern, в том то и дело что SystemInformation.CaptionHeight параметр только для чтения, его можно косвенно (меняя Color Sheme) через это окно затрагивая все оконные приложений Виндовс.
|
Отправлено: 16:01, 04-10-2008 | #277 |
Старожил Сообщения: 161
|
Профиль | Сайт | Отправить PM | Цитировать Admiral, а как тогда тут сделано оО
|
Отправлено: 17:33, 04-10-2008 | #278 |
Ветеран Сообщения: 3320
|
Профиль | Отправить PM | Цитировать Uzvern, я этот скрин ещё в предыдущем посте смотрел, и прикинул что это организовывается аналогично тому, как инсталлятор Висты/2008 рисуется в ХР/2003 >>. Может в одном из ресурсов данной программы и лежит рамка этого окна.
Приблизить к такому эффекту в новом проекте может следующий код Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Me.ShowIcon = False Me.Text = "" Me.MaximizeBox = False Me.MinimizeBox = False End Sub |
Отправлено: 18:41, 04-10-2008 | #279 |
Старожил Сообщения: 161
|
Профиль | Сайт | Отправить PM | Цитировать Admiral, либо я что-то не понял, либо ты. У меня стоит Aero. как ты видишь, окно подвергается эффектам Aero. Т.е. это не нарисованая форма, а просто растянутый на всю прогамму TitleBar
На ХР-шке окно не прозрачное! |
Отправлено: 19:51, 04-10-2008 | #280 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
VBA - MS Visual Basic 2008 Expres Edition файлы проекта | Anton Naumov | Программирование и базы данных | 7 | 14-05-2010 14:09 | |
VBA - Visual basic 2008 | Anton Naumov | Программирование и базы данных | 1 | 02-01-2010 22:35 | |
visual basic 6 | иоанн | Хочу все знать | 1 | 27-04-2009 18:51 | |
visual basic 6 | guma | Программирование и базы данных | 1 | 26-04-2007 20:41 | |
Visual basic | carlos | Программирование и базы данных | 1 | 04-08-2003 02:03 |
|