Вопрос № 29270: Доброго
вопрос такой: использую DialogBox , а диалоги все равно не модальные :( ...Вопрос № 29279: Здраствуйте уважаемые эксперты.
Подскажите пожайлуста.
Есть функция FindFirstFile,FindNextFile которая возвращает указатель на буфер с параметрами найденного файла.
Как мне определить что найденный файл является каталогом,если Windows в о...Вопрос № 29283: Здравствуйте!
У меня вопрос:
Как сделать, чтобы при нажатии мышкой на шкале трекбара слайдер передвигался именно в это место, а не на определенное число делений? Я искал ответ в Win32.hlp, но ничего не нашел, может Вы поможете?
Заранее с...Вопрос № 29294: Как определить екранные(!) координаты клиентской области окна?
Как разместить окно так что-б клиентская область располагалась по
определенным координатам, другими словами как узнать размеры системной области окна
(заголовок и т.д)?...
Вопрос № 29.270
Доброго
вопрос такой: использую DialogBox , а диалоги все равно не модальные :(
Отвечает: Лысков Игорь Витальевич
Здравствуйте, Марина Сергеевна Пашкова!
Если указать родителем второго диалога основной, то все встанет на свои места :)
Отвечает: estiGi
Здравствуйте, Марина Сергеевна Пашкова!
Они на самом деле модальные. Просто вы допустили малюсенькую ошибку :)
С первым все правильно, но вот чтобы второй был модальным по отношению к первому, то нужно задать им зависимость друг от друга, в данном случае - родственную. Поставьте второму диалогу родителя - первый диалог.
DialogBox (NULL, (LPSTR) IDD_DIALOG2, hWnd, DIAL1);
вместо HINSTANCE необязательно ставить текущий хендл. Если вы вызываете ресурс из своего модуля, то можно проставить и ноль - подробности в МСДН
И еще. Из InitDialog желательно возвращать true, если не нужно специально везвращать 0. Опять же МСДН :)
Приложение:
Ответ отправил: estiGi (статус: 6-ой класс)
Отправлен: 09.11.2005, 22:24
Вопрос № 29.279
Здраствуйте уважаемые эксперты.
Подскажите пожайлуста.
Есть функция FindFirstFile,FindNextFile которая возвращает указатель на буфер с параметрами найденного файла.
Как мне определить что найденный файл является каталогом,если Windows в один бит где находится флаг что это каталог ставит и другие характеристики.
Зарание спасибо.
Мой майл: magoja@ua.fm
Отправлен: 10.11.2005, 01:05
Вопрос задал: MAgoja (статус: Посетитель)
Всего ответов: 3 Мини-форум вопроса >>> (сообщений: 1)
Отвечает: Алексей Смуриков
Здравствуйте, MAgoja!
Надо просто при сравнении типа на папку не писать '=', а всё зависит от языка разработки поставить что-то вроде логического 'и':
.if Type & DIRECTORY
--------- Speccy Rulezz!!!
Ответ отправил: Алексей Смуриков (статус: Практикант)
Отправлен: 10.11.2005, 07:14
Отвечает: Rusland
Здравствуйте, MAgoja!
Второй параметр у функций iAttributes может содержать faDirectory - это означает что найденное - папка.
--------- Пресловутое недостающее звено между обезьяной и цивилизованным человеком - это как раз мы. (Конрад Лоренц)
Ответ отправил: Rusland (статус: Практикант)
Отправлен: 10.11.2005, 09:29
Отвечает: estiGi
Здравствуйте, MAgoja!
Ты имеешь в виду поле DWORD dwFileAttributes структуры WIN32_FIND_DATA ?
Значения записываются не _в_один_бит_, а в _одно_число_ типа DWORD. И суть как раз в том, что в каждом бите свое знчение и их надо проверять.
if (dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) {
// this is folder
}
if (dwFileAttributes & FILE_ATTRIBUTE_HIDDEN) {
// folder is hidden
}
if (dwFileAttributes & FILE_ATTRIBUTE_READONLY) {
// folder has a ro attribute
}
Ответ отправил: estiGi (статус: 6-ой класс)
Отправлен: 10.11.2005, 12:35
Вопрос № 29.283
Здравствуйте!
У меня вопрос:
Как сделать, чтобы при нажатии мышкой на шкале трекбара слайдер передвигался именно в это место, а не на определенное число делений? Я искал ответ в Win32.hlp, но ничего не нашел, может Вы поможете?
Заранее спасибо.
Отправлен: 10.11.2005, 02:33
Вопрос задал: Sanbow (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Лысков Игорь Витальевич
Здравствуйте, Sanbow!
Действительно, к примеру, стандартный вертикальный трекбар шлет в таком случае WM_VSCROLL с LOWORD(wParam) = SB_PAGEDOWN, т.е. предусматривается только постраничное передвижение :(
Отсюда, лично я вижу только один выход - сабклассинг, т.е. самому формировать нужное сообщение.
Специально для тебя слепил примерчик с "отдельно стоящим" скроллом, чтобы показать идею. Думаю, разберешься :)
Приложение:
--------- Удачи!
Ответ отправил: Лысков Игорь Витальевич (статус: 8-ой класс)
Отправлен: 10.11.2005, 14:28 Оценка за ответ: 5 Комментарий оценки: Большое спасибо за подробный ответ, разберусь обязательно. :)
Вопрос № 29.294
Как определить екранные(!) координаты клиентской области окна?
Как разместить окно так что-б клиентская область располагалась по
определенным координатам, другими словами как узнать размеры системной области окна
(заголовок и т.д)?
Отправлен: 10.11.2005, 09:22
Вопрос задал: X3m (статус: Посетитель)
Всего ответов: 3 Мини-форум вопроса >>> (сообщений: 1)
Отвечает: Татьяна
Здравствуйте, X3m!
Получение клиентской области окна
BOOL GetClientRect( HWND hWnd,
LPRECT lpRect
);
Она фактически определяет размеры клиентской области
Получение экранных координат окна
BOOL GetWindowRect( HWND hWnd,
LPRECT lpRect
);
Для того, чтобы определить ширину заголовка, необходимо от ширины окна отнять ширину клиентской области
Желаю удачи
Приложение:
--------- Нет ничего невозможного!!!
Ответ отправила: Татьяна (статус: 7-ой класс)
Отправлен: 10.11.2005, 11:38 Оценка за ответ: 3