Войти
ФлеймФорумПрограммирование

Общие вопросы по программированию (144 стр)

Страницы: 1143 144 145 146177 Следующая »
#2145
21:37, 8 апр. 2020

Ведь должен быть разумный предел перфекционизму. Нельзя предусмотреть всё на свете - просто потому что весь свет слишком большой, чтобы уместиться в голове конечного количества человек. Допустим, ты придумал, что делать, когда GetCursorPos не срабатывает - для каждой из возможных причин. А если и в твоём фоллбеке возникнут ошибки? Может, лучше тогда вообще не полагаться на ОС? Написать свой кернел и запускать игру с него? А если железо подкачает? Будешь вместе с игровыми дисками посылать готовые сборки по почте? А если вдруг свет отключат? Будешь с каждым компьютером прилагать ИБП? А если у него батарейка износится? Или пользователь решит долбануть по твоей сборке молотком? Будешь вместе с компьютером отправлять тыжпрограммиста? Или, может, сам в посылку полезешь?

Если не знаешь, что делать без GetClientRect - роняй приложение. Ты же сам сказал, что не намерен поддерживать тачпады. Так что тебе мешает точно так же выкинуть компьютеры без мониторов?


#2146
21:45, 8 апр. 2020

Delfigamer
Куда-то вас, с предыдущим товарищем в крайности бросает,
неужели проверка всратого буля с моей стороны выглядит так?

#2147
(Правка: 22:31) 22:28, 8 апр. 2020

nes
Ты можешь скачать исходники винды, и посчитать, сколько они там раз проверяют результаты своего же GetCursorPos (ни разу, я посчитал).

Смотри, что творят:

+ Показать

#2148
22:32, 8 апр. 2020

entryway
Кстати хорошая идея, надо будет порукоблудничать в MFC,
там-то уж точно должны проверять все как следует.

#2149
22:34, 8 апр. 2020

nes
> Куда-то вас, с предыдущим товарищем в крайности бросает,
> неужели проверка всратого буля с моей стороны выглядит так?
Так выглядит вот такая твоя фраза:
> Предположим пытаюсь я получить положение курсора мыши и функция GetCursorPos
> вернула фольс
> и что дальше, схлопывать из-за этого приложение и выдавать в лог LastError?
Как будто это что-то плохое.

#2150
(Правка: 22:56) 22:52, 8 апр. 2020

entryway
> (ни разу, я посчитал).
Хотя не, то я искал присваивание, а оно прямо в условиях иногда проверяется, раза три.

+ Показать
#2151
(Правка: 13:19) 13:17, 11 апр. 2020

Покажите пример файла ресурсов (*.RC) для visual c++ 2019
Мой файл *.RC, который я использую в CodeBlocks, почему то не нравится студии.

#include <windows.h>

#define IDC_CURSORNORMAL      1
#define IDC_CURSORHORIZONTAL  2
#define IDC_CURSORVERTICAL    3
#define IDC_CURSORDIAGONAL0   4
#define IDC_CURSORDIAGONAL1   5
#define IDI_ICON48            6
#define IDI_ICON24            7

IDC_CURSORNORMAL      CURSOR  "n.cur"
IDC_CURSORHORIZONTAL  CURSOR  "h.cur"
IDC_CURSORVERTICAL    CURSOR  "v.cur"
IDC_CURSORDIAGONAL0   CURSOR  "d0.cur"
IDC_CURSORDIAGONAL1   CURSOR  "d1.cur"
IDI_ICON48            ICON    "48.ico"
IDI_ICON24            ICON    "24.ico"


VS_VERSION_INFO VERSIONINFO
FILEVERSION      0,0,0,0

FILEOS           VOS__WINDOWS32
FILETYPE         VFT_APP
FILESUBTYPE      VFT2_UNKNOWN


BEGIN
  BLOCK "StringFileInfo"
    BEGIN
      BLOCK "040904E4"
        BEGIN
          VALUE "FileDescription",  "x"
          VALUE "FileVersion",      "0.0.0.0"
          VALUE "InternalName",     "x"
          VALUE "OriginalFilename", "x.exe"
          VALUE "ProductName",      "x"
          VALUE "ProductVersion",   "0.0.0.0"
        END
    END

  BLOCK "VarFileInfo"
    BEGIN
      VALUE "Translation", 0x419, 1251
    END
END
#2152
13:36, 11 апр. 2020

programina

Скачай ResourceHacker,  возможно он подхватит и сможет потом экспортировать в более подходящем для студии формате (в принципе, может и res выгрузить, который сразу можно линковать).  Никаких дефайнов студийный компилятор rc файлов не понимает, вынеси их в *.h файл

#2153
(Правка: 13:54) 13:54, 11 апр. 2020

0iStalker
> Скачай ResourceHacker,  возможно он подхватит и сможет потом экспортировать в
> более подходящем для студии формате
RC, созданный в ResourceHacker, тоже не воспринимается студией. А RES линкуется, но меняетcя только иконка в проводнике, в то время когда иконки и курсоры в программе не работают.

#2154
14:03, 11 апр. 2020

programina
> в то время когда иконки и курсоры в программе не работают.

Код загрузки? Используется  ли функция MAKEINTRESOURCE(IDC_CURSROR)  в Load функции, вместо прямого указания  IDC_CURSROR? 

#2155
14:05, 11 апр. 2020

0iStalker
> Используется  ли функция MAKEINTRESOURCE(IDC_CURSROR)

hcursornormal = LoadCursor(hinstance, MAKEINTRESOURCE(IDC_CURSORNORMAL));
...
wincl.hCursor = hcursornormal;
#2156
14:11, 11 апр. 2020

В студии в левой боковой панели есть вкладка "Окно ресурсов название_проекта", там можно добавлять иконки, курсоры через меню. Сейчас попробую.

#2157
(Правка: 19 апр. 2020, 15:53) 14:32, 11 апр. 2020

C иконками готово. Открыла экзешку в архиваторе, посмотрела внутри папку .rsrc\1049\GROUP_ICON, там 2 файла с именами 101 и 102.
Эти имена скопировала в main.cpp:

wincl.hIcon   = (HICON)LoadImage(hinstance, MAKEINTRESOURCE(101), IMAGE_ICON, 48, 48, 0);
wincl.hIconSm = (HICON)LoadImage(hinstance, MAKEINTRESOURCE(102), IMAGE_ICON, 24, 24, 0);

и теперь иконка появилась на шапке окна программы и на панели задач.

UPD: с курсорами тоже готово.

PS: сколько гемора...

UPD2: в папке появился файл resource.h, в нем есть эти имена в виде дефайнов, теперь их можно копировать из этого файла вместо вытаскивания из *.EXE с помощью архиватора.

#2158
(Правка: 16:08) 16:07, 11 апр. 2020

programina
> там 2 файла с именами 101 и 102.
> Эти имена скопировала в main.cpp
Если ты добавляешь ресурсы через студию, то она же должна генерировать заголовочный файл с константами, типа IDC_ICON, IDC_ICONSM и подобными.

> UPD2: в папке появился файл resource.h, в нем есть эти имена в виде дефайнов,
> теперь их можно копировать из этого файла вместо вытаскивания из *.EXE с
> помощью архиватора.
Во, ага.

#2159
(Правка: 16:40) 16:38, 11 апр. 2020

Delfigamer
> IDC_ICON, IDC_ICONSM
А у меня IDI_ICON1 и IDI_ICON2... и почему-то в моем EXE используется маленькая иконка 24x24 вместо 48x48

PS: как в CodeBlocks все по-человечески сделано...

Страницы: 1143 144 145 146177 Следующая »
ФлеймФорумПрограммирование