Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » VBA - Visual Basic 2008

Ответить
Настройки темы
VBA - Visual Basic 2008

Аватара для Uzvern

Старожил


Сообщения: 161
Благодарности: 4


Конфигурация

Профиль | Сайт | Отправить PM | Цитировать


Изменения
Автор: Uzvern
Дата: 24-04-2008
Описание: Забыл дописать название темы. Прошу простить.
Подскажите как сделать так : допустим, если нажать на форме правой кнопкой мыши, то вылетет MsgBox(123), а если нажать левой, то MsgBox(098).

Спасибо за внимание.

>>Блин, не дописал в названии темы : Действие при нажатии правой кнопки

Отправлено: 17:47, 24-04-2008

 

Аватара для Delirium

Ветеран


Сообщения: 5624
Благодарности: 936

Профиль | Отправить PM | Цитировать


Uzvern, вы там винду новую пишете?
Цитата Uzvern:
Как программно изменить свойства папки (сменить значок) ? »
один из вариантов:
desktop.ini в папке:
[.ShellClassInfo]
IconFile=%SystemRoot%\system32\SHELL32.dll
IconIndex=22
Примерно так. Создать файл и запихать туда нужные строки.

А вообще посмотрите функции Shell, там должно это быть.
Цитата:
The following example shows how to set a window icon. (Window.Icon Property)
// Set an icon using code
Uri iconUri = new Uri("pack://application:,,,/WPFIcon2.ico", UriKind.RelativeOrAbsolute);
this.Icon = BitmapFrame.Create(iconUri);

-------

Пройденные курсы:
[Microsoft №10174 Sharepoint], [SharePoint]
Мои проекты:[CheckAdmins], [NetSend7], [System Uptime], [Remote RAdmin LogViewer],[Netdom GDI], [Holidays - напоминалка о днях рождения]

А я офис-гуру :)

Это сообщение посчитали полезным следующие участники:

Отправлено: 01:28, 23-09-2008 | #271



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для Uzvern

Старожил


Сообщения: 161
Благодарности: 4

Профиль | Сайт | Отправить 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


Аватара для Delirium

Ветеран


Сообщения: 5624
Благодарности: 936

Профиль | Отправить PM | Цитировать


Да, действительно, просто создание файла desktop.ini не дает нужного результата. Об этом писали здесь .
Похоже, единственные вариант - использовать функции Shell, пример использования(на делфи) есть здесь. Если брать VB или C#, то описание задано в
статье MSDN :
Цитата:
SHGetSetFolderCustomSettings Function

Sets or retrieves custom folder settings. This function reads from and writes to Desktop.ini.

-------

Пройденные курсы:
[Microsoft №10174 Sharepoint], [SharePoint]
Мои проекты:[CheckAdmins], [NetSend7], [System Uptime], [Remote RAdmin LogViewer],[Netdom GDI], [Holidays - напоминалка о днях рождения]

А я офис-гуру :)


Отправлено: 01:17, 24-09-2008 | #273


Аватара для Uzvern

Старожил


Сообщения: 161
Благодарности: 4

Профиль | Сайт | Отправить PM | Цитировать


Как можно изменить размеры верхней (главной) строки программы (Где название, иконка, кнопки закрытия/максимизации/минимизации) ?

Скрин

Например вот с такого

до такого, если вообще возможно...


Отправлено: 11:54, 03-10-2008 | #274


Ветеран


Сообщения: 3320
Благодарности: 916

Профиль | Отправить 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


Аватара для Uzvern

Старожил


Сообщения: 161
Благодарности: 4

Профиль | Сайт | Отправить PM | Цитировать


А как-то можно изменить размеры CaptionHeight?
По нарисованому рисунку не интерестно. Я хочу именно CaptionHeight изменить

Отправлено: 14:41, 04-10-2008 | #276


Ветеран


Сообщения: 3320
Благодарности: 916

Профиль | Отправить PM | Цитировать


Uzvern, в том то и дело что SystemInformation.CaptionHeight параметр только для чтения, его можно косвенно (меняя Color Sheme) через это окно затрагивая все оконные приложений Виндовс.

Отправлено: 16:01, 04-10-2008 | #277


Аватара для Uzvern

Старожил


Сообщения: 161
Благодарности: 4

Профиль | Сайт | Отправить PM | Цитировать


Admiral, а как тогда тут сделано оО

Отправлено: 17:33, 04-10-2008 | #278


Ветеран


Сообщения: 3320
Благодарности: 916

Профиль | Отправить 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


Аватара для Uzvern

Старожил


Сообщения: 161
Благодарности: 4

Профиль | Сайт | Отправить PM | Цитировать


Admiral, либо я что-то не понял, либо ты. У меня стоит Aero. как ты видишь, окно подвергается эффектам Aero. Т.е. это не нарисованая форма, а просто растянутый на всю прогамму TitleBar
На ХР-шке окно не прозрачное!

Отправлено: 19:51, 04-10-2008 | #280



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » VBA - Visual Basic 2008

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
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




 
Переход