Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > C++ Builder
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.10.2011, 01:19   #1
VKorablev
Форумчанин
 
Аватар для VKorablev
 
Регистрация: 14.04.2011
Сообщений: 126
Радость Нужен совет

Доброй ночи всем. Интересую некоторые возсожности, а точнее способы реализации на C++ Builder 6. А именно :
1)Как сделать чтоб при наведении курсора на панель она исчезала. (Понимаю что Visible = false, а как написать чтоб при наведении?)
2)Есть файл, как сделать чтоб программа открывала файл из директории в которой находиться сама программа. Тоесть Нужно что-то типа GetDirectory.
Или встроить файл в программу.
3)Коды сочетаний клавиш. (Например чтоб действие выполнялось при нажатии Shift+Ctrl+h).

Заранее благодарен) Прошу совета) Обучаюсь сам) и вот для самообучения нужно.
Нам больше не нужно смотреть на мир сквозь замочную скважину 64Кб сегмента (с) ВалИк
VKorablev вне форума Ответить с цитированием
Старый 27.10.2011, 07:11   #2
An1ka
C++,DirectX/OpenGL
Форумчанин
 
Регистрация: 09.01.2011
Сообщений: 422
По умолчанию

1) Во время движения мыши по клиентской области окна, даже если окно не активно, Windows посылает сообщение оконной процедуре WM_MOUSEMOVE с клиентскими координатами курсора мыши. В Builder есть обработчики сообщения при движения мыши. Панель является прямоугольником, координаты расположения нам известны, т.е. решить нехитрую задачку проверки попадения точки в прямоугольник

2) При исполнении программы, первым параметром (программы, не функции) идет полное имя программы. В Builder WinMain от нас "скрыт", то полное имя программы получаем через:
Код:
Application->ExeName
А путь без имени файла соотвественно через:
Код:
ExtractFilePath(Application->ExeName)
Встроенные в программу файлы называются ресурсами и вставляются с помощью скрипта ресурсов (.rc), при сборке программы присоединенный скрипт выполняется.

3) Называются быстрыми клавишами (keyboard accelerator) и генерируют сообщения WM_COMMAND или WM_SYSCOMMAND. На WinApi с этим просто, а вот Builder в компоненте меню можно назначить, чтобы какой-то пункт выполнялся при нажатии. Или обрабатывать событие нажатия клавиши, где TShiftState является множеством: http://www.freepascal.org/docs-html/...hiftstate.html
An1ka вне форума Ответить с цитированием
Старый 27.10.2011, 16:34   #3
VKorablev
Форумчанин
 
Аватар для VKorablev
 
Регистрация: 14.04.2011
Сообщений: 126
По умолчанию

Спасибо =) Все понятно )
Нам больше не нужно смотреть на мир сквозь замочную скважину 64Кб сегмента (с) ВалИк
VKorablev вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужен совет romkaP Свободное общение 10 26.12.2010 20:21
Нужен совет, просто совет kardinal94 Общие вопросы Delphi 7 16.12.2010 22:16
Нужен совет Andrew_GN Microsoft Office Excel 2 24.09.2010 18:12
нужен совет миха18 Помощь студентам 3 01.06.2009 10:06
Нужен совет Михаил Юрьевич Общие вопросы Delphi 2 07.06.2008 13:59