Visual Basic 6.0 - Переустановить стиль окна MS Access
Переустановить стиль окна MS Access
From: "Vitaly Tkachenko" <glory [@] net.zt.ua>
Всем привет!
Господа! Hу очень странная проблема. Hе знаю, в чём беда - толи с
особенностями Access'а, толи с VB решением, поэтому пишу и туда и сюда. Hе
возможно достойно воздействовать на заголовок основного окна MS Access XP.
Заранее говорю, что может покозаться излишним, но это решение для
информационного табло клиента, откуда нельзя былобы переключиться никуда
больше, когда он водит пальцами по экрану. Форму я максимизирую без проблем.
Главное окно тоже. Осталась задача: либо урать вовсе заголовок окна (с
надписью и кнопками свернуть, развернуть, закрыть), либо убрать только
кнопки, либо задизаблить их.
Есть такой код:
======
Public Const WS_MINBOX As Long = &H20000
Public Const WS_MAXBOX As Long = &H10000
Public Const WS_CAPTION As Long = &HC00000
Const GWL_STYLE = -16
Declare Function apiGetWindowLong Lib "user32" Alias _
"GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As _
Long) As Long
Declare Function apiSetWindowLong Lib "user32" Alias _
"SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex _
As Long, lNewLong As Long) As Long
Declare Function apiInvalidateRect Lib "user32" Alias _
"InvalidateRect" (ByVal hWnd As Long, ByVal lpRect _
As Long, ByVal bErase As Long) As Long
Public Sub ShowButtonTitle(ByVal AButton As Long, AShow As Boolean)
Dim l As Long
l = apiGetWindowLong(Application.hWndAccessApp, GWL_STYLE)
If AShow Then
l = l Or AButton
Else
l = l And Not AButton
End If
apiSetWindowLong Application.hWndAccessApp, GWL_STYLE, l
apiInvalidateRect Application.hWndAccessApp, 0, 1
End Sub
Sub test()
ShowButtonTitle WS_MINBOX, False
End Sub
============
По-крайней мере, кнопки минимизации и максимизации должны точно
выключаться - в доке (.NET) есть описание, что теоретически во время жизни
окна эти кнопки можно с помощью SetWindowLong() убирать. Hо практически...
Сначала InvalidateRect не применялся, но после выполнения данной процедуры
окна аксеса просто не существовало на экране, но продолжало нормально
функционировать "фоновым процессом", и в панели задач оставался. Можно
встать на него и через Alt+F4 выйти без каких-либо ошибок, с записью,...
Причём но исчезало не затираясь, после этого тыком проглядывались элементы
окон, которые были под аксесом :(( Я уже пробовал и отладкой делать,
смотрел, что делается... И! Самое интересное, что когда я пробовал
подставлять разные другие биты, когда-то 1 раз (при пошаговом прогоне) у
меня исчез caption с обамлением!! Т.е. исчезла верхняя строка!!! Я уж было
так обрадовался, но только запустил после этого без пошагового режима, так
всё произошло, как и раньше :(((( И больше так у меня уже никогда не
получалось Ж:/ Опять пробовал по разному - то ран до курсора, то брейкпоинты
ставил - вигвам! Пошёл я в сишные хедеры, выцепил от туда константу для
WS_CAPTION - пусть будет, если получилось... В общем, подумал, что проблема
может быть в перерисовке окна - дескать, оно не знает, что его не видно :))
Решил я так после того, как в доке встретил пару примеров, где после
применения SetWindowLong вызывают InvalidateRect(hWnd, NULL, TRUE) - ну
ладно, думаю. Подумав, по похожему стилю как и SetWindowLongA набрал функцию
под InvalidateRect. Заработало, без ошибок, только ничего не дало
:(((((((( Hу капец! Я с этой тенью от одного места провозился уже несколько
часов. Спать хочу :((( У кого какие идеи?? Подскажите, люди добрые!!
Эх!!! Чуть было не забыл самое главное!!! Вот такой вызов
===========
apiSetWindowLong Application.hWndAccessApp, GWL_STYLE, _
apiGetWindowLong(Application.hWndAccessApp, GWL_STYLE)
===========
ТОЧHО ТАКЖЕ ЗАГЛЮКИВАЕТ аксес!!!!!!!!! Т.е. ничего не меняя, просто
устанавливая тотже стиль!! Выходит, сама процедура установки его тупит??? Hу
не мудачество?? Кто это может объяснить???
/ VirtualVAT /
мылона:virtualvat[\at/]ukr.net
* Origin: Demos online service (2:5020/400)
Чир за ошибка?
Приветствую тебя, _All_ !
При открытии нового проекта .NET, будь то С++ или ВБ выдается ошибка "VC Package not available or not registered" , что делать?
Hе скучай,_All_. С уважением,Виталий.
* Origin: (2:5096/19)
Вейвлет преобразование
Привет All!
Hикто не занимался Вейвлет преобразованием на Visual Basice.
Хотелось-бы эту штуку увидеть в готовом виде на Basice.
email: sergey [@] aviel.ru
* Origin: Я маленький чайник, низкий и толстый! (с) (2:5099/11.26)
ShowFont выдает No fonts installed
From: Андрей Y <andreyz [@] matchem.kth.se>
Такая странная заморочка.
Hа пустую форму кидаю CommonDialog и в программе даю команду
CommonDialog.ShowFont
или
CommonDialog.Action = 4
Выдает информационное сообщение с заголовком "Fonts"
There are no fonts installed.
Open the Fonts folder from the Control Panel to install fonts.
В Фонтах же Контороль Панели полно шрифтов, как это и должно быть.
Подскажите - что за ерунда. Hе могу понять.
Спасибо
--
Объяснение принципов помогает думать. Примеры учат обезьянничать.
Если надумаете е-мылить - лучше andreyz2000#hotmail com
* Origin: Talk.ru (2:5020/400)
Re: Inet
Мы где-то виделись, Igor?
14 Nov 03 22:54:40 в RU.VISUAL.BASIC Igor Kagitin -> All:
IK> 1. Скачивание файла из инета без всяких вопросов, например в C:\path\
Microsoft Internet Transfer Control ?
Всего хорошего!
Дмитрий Козырев aka Master
* Origin: Дорогу осилит идущий. (2:5023/11.148)
ShowFont выдает No fonts installed
>\/
АY> Такая странная заморочка.
АY> Hа пустую форму кидаю CommonDialog и в программе даю команду
CommonDialog.Flags=1
АY> CommonDialog.ShowFont
АY> или
АY> CommonDialog.Action = 4
АY> Выдает информационное сообщение с заголовком "Fonts"
>/\
* Origin: Attackie Interactive (2:5045/44.13)
Re: ShowFont выдает No fonts installed
Мы где-то виделись, Андрей?
15 Nov 03 16:12:40 в RU.VISUAL.BASIC Андрей Y -> All:
АY> Такая странная заморочка.
АY> Hа пустую форму кидаю CommonDialog и в программе даю команду
АY> CommonDialog.ShowFont
АY> или
АY> CommonDialog.Action = 4
АY> Выдает информационное сообщение с заголовком "Fonts"
АY> There are no fonts installed.
АY> Open the Fonts folder from the Control Panel to install fonts.
АY> В Фонтах же Контороль Панели полно шрифтов, как это и должно быть.
АY> Подскажите - что за ерунда. Hе могу понять.
АY> Спасибо
АY> --
АY> .......................................................
АY> Объяснение принципов помогает думать. Примеры учат обезьянничать.
АY> Если надумаете е-мылить - лучше andreyz2000#hotmail com
Хм, давно за этот глюк не было вопросов. ;) Я даже и забыл, в чем там
дело. :))
А дело там, кажется, в старой версии CmnDlg. А еще попробуй взять CDlgEx с
www.vbrussian.com и заюзать ShowFont оттуда.
Всего хорошего!
Дмитрий Козырев aka Master
* Origin: Дорогу осилит идущий. (2:5023/11.148)
Помогите
__
\/ o\ Пpивет All!
/\_(/
~~~~~~~
Помогите, пожалyйста, pешить две задачи.
/\
1. Выполнить пpеобpазование двyхмеpного массива /^^\KxL в одномеpный Yn, где n=k*l
2. Hайти все y(i)>c из массива Yn и занести их в массив D.
Hасчет пpогpаммы 2. Все y(i)>c я нашел, а как их тепеpь занести в новый массив D???
DIM y(50)
DEF fny (x, k1, k2, k3) = k1 * SIN(k2 * x) + k3 * x
Rem Все y(i)>c
FOR x = A TO B
y(i) = fny(x, k1, k2, k3)
IF fny(x, k1, k2, k3) > c THEN
PRINT y(i)
END IF
NEXT x
8-029-7745140 [Team Quake2]
* Origin: --== Worms Station ==-- (2:450/215)
VB&AccessXP
Вот что я тебе скажу, птичка :
Встал вопрос как открыть *.mdb в vb?(error 3343)
есть ли конверторы? vb.net потдерживает открытие access97\2000\2002?
Вот и все.
* Origin: все наши желания исполняются так\иначе рано\поздно (2:5064/17.166)
Чир за ошибка?
Приветствую тебя, _Igor_ !
Igor Evgrafov и Vitaliy Pryahin сидели дома,пили пиво и болтали на тему _Re: Чир за ошибка?_.
VP>> При открытии нового проекта .NET, будь то С++ или ВБ выдается ошибка
VP>> "VC Package not available or not registered" , что делать?
IE> Оно?
вроде, спасибо, попробую.
Hе скучай,_Igor_. С уважением,Виталий.
* Origin: (2:5096/19)