Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на C / C++


Информационный Канал Subscribe.Ru


RusFAQ.ru: Программирование на C / C++

Выпуск № 362
от 26.09.2003, 19:40

Администратор:
Имя: Nick.Box
URL: Информационный ресурс
ICQ: 365124
[censored], [censored]
О рассылке:
Задано вопросов: 1086
Отправлено ответов: 2469
Активность: 227.3 %
[Задать вопрос >>][Регистрация эксперта >>]
[Поиск в базе][Обсудить на форуме]


 Список экспертов, ответы которых опубликованы в данном выпуске

Извращенок
Статус: Профессиональный
Общий рейтинг: 158.32
URL: Новосибирск
Телефон: (3832) 329836
[Подробней >>]
BOLT
Статус: Профессиональный
Общий рейтинг: 169.53
URL: Начинающему программитсу: софт, примеры, документация, Assembler, C & C++.
Телефон: Три раза АУ!
[Подробней >>]
Vdr
Статус: Опытный
Общий рейтинг: 110.24
[Подробней >>]
 
vitya
Статус: Профессиональный
Общий рейтинг: 108.04
[Подробней >>]
Yuri Gordienko
Статус: Профессиональный
Общий рейтинг: 118.63
URL: Досконально о С++, оптимизация программ, советы
[Подробней >>]
Marouder
Статус: Профессиональный
Общий рейтинг: 122.42
URL: Первый Хабаровский Форум
Телефон: (4212) 21-93-65
[Подробней >>]


 Краткий перечень вопросов

Вопрос № 1081. Приветствую О эксперты... Подскажите плиз как можно прокручивать видимую область картинки в ограниче... (ответов: 2)
Вопрос № 1082. Здравствуйте! Как программно нажать кнопку (в каком ни будь окне)? (Если можно кусочек кода)... (ответов: 6)

Вопросов: 2, ответов: 8


 Вопрос № 1081

Приветствую О эксперты...
Подскажите плиз как можно прокручивать видимую область картинки в ограниченных рамках (т.е. когда картинка больше видимой области она показывает кусок, обрезанный краями рамки), так вот в TImage я нашел только center, а как прокручивать (желательно плавно) не нашел.
И еще можно ли имея круговую панараму соединить ее как нибудь, чтобы прокрутка была кругом.
Спасибо


Приложение:


Вопрос отправлен: 23.09.2003, 04:32
Отправитель: YAR

[Следующий вопрос >>] [Список вопросов]

Отвечает Извращенок

Здравствуйте, YAR!
Влепи картинку в другю картинку (т.е. сделай ее дочерней). Прилепи скроллы, и ими меняй положение дочерней картинки относительно картинки-матери.

Ответ отправлен: 23.09.2003, 17:11
Отправитель: Извращенок


Отвечает BOLT

Здравствуйте, YAR!
Использую VCL-библиотеку, это легко проделывается следущим образом:
1)Поставьте на форму компонент TScrollBox;
2)Поставьте компонент TImage на компонент TScrollBox. После этого TScrollBox должен стать родителем TImage.
Дополнительно:Если рисунок получится больше по площади чем TScrollBox, то скролирование получится успешным, в противном случае можно изменить размер TScrollBox так чтобы был, либо сролинг, либо совпадение по размерам.

Да прибудет с тобой Великая Сила!
This message was created by EMan 1.5


Ответ отправлен: 24.09.2003, 13:19
Отправитель: BOLT


 Вопрос № 1082

Здравствуйте!
Как программно нажать кнопку (в каком ни будь окне)?
(Если можно кусочек кода)



Вопрос отправлен: 23.09.2003, 18:15
Отправитель: Quas

[Следующий вопрос >>] [Список вопросов]

Отвечает Vdr

Здравствуйте, Quas!
При нажатии кнопки возникает сообщение OnClick... Как я понимаю, тебе надо просто вызвать функцию которая и обробатывает это сообщение.
Удачи!

Ответ отправлен: 24.09.2003, 11:51
Отправитель: Vdr


Отвечает BOLT

Приветствую Вас, Quas!
Использую WinAPI-функцию


VOID keybd_event(
BYTE bVk, // виртуальная клавиша
BYTE bScan, // скан-код клавиатуры, его не используют
DWORD dwFlags, // доплнительные опции, см MSDN
ULONG_PTR dwExtraInfo // ставь 0
);


Вот пример кода, который я выдрал из MSDN. Функция вкл и выкл NumLock.


#include
void SetNumLock( BOOL bState )
{
BYTE keyState[256];
GetKeyboardState((LPBYTE)&keyState);
if( (bState && !(keyState[VK_NUMLOCK] & 1)) ||
(!bState && (keyState[VK_NUMLOCK] & 1)) )
{
// вкл
keybd_event( VK_NUMLOCK,
0x45,
KEYEVENTF_EXTENDEDKEY | 0,
0 );
// выкл
keybd_event( VK_NUMLOCK,
0x45,
KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP,
0);
}
}
void main()
{
SetNumLock( TRUE );
}


Да прибудет с тобой Великая Сила!
This message was created by EMan 1.5


Ответ отправлен: 24.09.2003, 13:19
Отправитель: BOLT


Отвечает vitya

Доброе время суток, Quas!
Надо получить HWND окна (например FindWindow, EnumWindows) потом получить ID кнопки на окне - например с помощью Spy++. А потом имея ID и HWND окна вызывается GetDlgItem получаешь HWND кнопки и посылаешь ей нужное сообщение...

Ответ отправлен: 24.09.2003, 16:37
Отправитель: vitya


Отвечает Yuri Gordienko

Приветствую Вас, Quas!
Читай
LRESULT SendMessage( HWND hWnd,
UINT Msg,
WPARAM wParam,
LPARAM lParam
);
Успехов


Ответ отправлен: 23.09.2003, 18:29
Отправитель: Yuri Gordienko


Отвечает Извращенок

Приветствую Вас, Quas!
Послать есть сообщение WM_CLICK, например. Запусти C++ SpyLog, нажми нужную кнопоску и посмотри, что происодит при клике. Саже всего нужно посылать WM_MOUSEUP или что-то вроде (не помню точного названия).

Ответ отправлен: 24.09.2003, 13:50
Отправитель: Извращенок


Отвечает Marouder

Добрый день, Quas!
1) Узнать ее хендл.
2) Отправить или одно сообщение BM_CLICK или 2 сообщения WM_LBUTTONDOWN и WM_LBUTTONUP.
Пример (жмем "Пуск"):
HWND taskbarwnd,puskwnd;
taskbarwnd=FindWindow("Shell_TrayWnd",NULL);
puskwnd=FindWindowEx(taskbarwnd,NULL,"BUTTON","Пуск");
SendMessage(startbuttonwnd,BM_CLICK,0,0);


Ответ отправлен: 25.09.2003, 07:24
Отправитель: Marouder



Форма отправки вопроса

Внимание!
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.

(C) 2002-2003 Команда RusFAQ.ru.

 Персональные данные

Ваше имя:

Ваш e-mail:

Опубликовать мой e-mail в рассылке


 Вопрос и дополнение

Ваш вопрос:


Приложение (если необходимо):


Получить ответов:


 Выбор рассылки

Программисту
Assembler (31)
C / C++ (29)
Perl (8)
Builder / Delphi (23)
Pascal (24)
Basic / VBA (11)
Java / JavaScript (13)
PHP (14)
Криптография (10)
WinAPI (16)
Пользователю
Windows 95/98/Me (54)
Windows NT/2000/XP (62)
"Железо" (43)
Поиск информации (24)
Администратору
Windows NT/2000/XP (31)
Linux / Unix (15)
Юристу
Гражданское право (11)
Семейное право (9)
Трудовое право (9)
КоАП (6)

Отправить вопрос всем экспертам выбранной рассылки.




Задать вопрос | Регистрация эксперта | Поиск в базе | Чат | Форумы | Новости
Проект экспертов RusFAQ.ru | Фотоальбом | Virus.RusFAQ.ru | Администрирование
Профессиональная WEB-Студия B.I.T.


Яндекс цитирования
© 2001-2003 Россия, Москва. Авторское право: Калашников О.А.

http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное