-Поиск по дневнику

Поиск сообщений в rss_forum_sources_ru

 -Подписка по e-mail

 

 -Постоянные читатели

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 29.07.2007
Записей:
Комментариев:
Написано: 80




Форум на Исходниках.RU


Добавить любой RSS - источник (включая журнал LiveJournal) в свою ленту друзей вы можете на странице синдикации.

Исходная информация - http://forum.sources.ru.
Данный дневник сформирован из открытого RSS-источника по адресу http://forum.sources.ru/yandex.php, и дополняется в соответствии с дополнением данного источника. Он может не соответствовать содержимому оригинальной страницы. Трансляция создана автоматически по запросу читателей этой RSS ленты.
По всем вопросам о работе данного сервиса обращаться со страницы контактной информации.

[Обновить трансляцию]

Меня бесят ламеры

Пятница, 11 Июня 2021 г. 07:14 + в цитатник
sergioK:
Цитата korvin @
sergioK, но они правы, ты --- дурак.

Цитата sergioK @
надо писать так

И так писать не надо. У вас там в Израеле что, сборище дураков?

Это нам из Индии архитекторов дали,
Ну и как надо, расскажи умник ?


P.S.
Сначала на это ответь, потом я еще расскажу про этих талатнливых пиджинов ;)

https://forum.sources.ru/index.php?showtopic=421515&view=findpost&p=3848021


Метки:  

Меня бесят ламеры

Пятница, 11 Июня 2021 г. 00:11 + в цитатник
korvin: sergioK, но они правы, ты --- дурак.

Цитата sergioK @
надо писать так

И так писать не надо. У вас там в Израеле что, сборище дураков?

https://forum.sources.ru/index.php?showtopic=421515&view=findpost&p=3848019


Метки:  

Меня бесят ламеры

Четверг, 10 Июня 2021 г. 23:46 + в цитатник
sergioK: речь о яве, но жавистов спрашивать бесполезно, Я всю жизнь писал так

    public interface Constants {
    static final int responseCode = -1;
    }


счас умные архитекторы мне говорят что я дурак ;) и надо писать так,

    public class Constants {
    public static final int responseCode = -1;
    private Constants () { // чтобы вдруг кто то не создал обьект
    }


Чего Я не понимаю ? Только не шлите в интернет там любителей, никогда не писавших софт,
пруд пруди,

https://forum.sources.ru/index.php?showtopic=421515&view=findpost&p=3848017


Метки:  

Прикольные новости

Четверг, 10 Июня 2021 г. 20:29 + в цитатник
swf:
Цитата
Мэр Перми оказался женщиной по официальным документам. Администрация начала проверку
cообщают «Открытые медиа»

https://forum.sources.ru/index.php?showtopic=199677&view=findpost&p=3848015


Метки:  

Складской учет ТМЦ

Четверг, 10 Июня 2021 г. 16:49 + в цитатник
Егор20: Благодаря Eqman теперь очень удобно и быстро проводить инвентаризацию, при этом сэкономив кучу времени и нервов)Вы будете всегда в курсе местонахождения Вашего ТМЦ и кто за него ответственный в данный момент. Кто давно искал такую программу, которая спасет Ваши товарно-материальные ценности от потерь и хищений, то лучшее спасение для вас это Eqman.
https://eqman.co/

https://forum.sources.ru/index.php?showtopic=421514&view=findpost&p=3848013


Метки:  

Новый код на основе метода Монте-Карло для решения уравнений лучистого переноса

Четверг, 10 Июня 2021 г. 16:26 + в цитатник
Programma_Boinc: Новый код на основе метода Монте-Карло для решения уравнений лучистого переноса

В новом исследовании Сяолинь Ян (Yang Xiaolin) и его коллеги из Юньнаньской астрономической обсерватории Академии наук Китая разработали новый быстрый код под названием Lemon (Linear Integral Equations" Monte Carlo Solver Based on Neumann Solution), который предназначен для точного решения уравнений лучистого переноса. Схема построения этого кода основана на линейном интегральном уравнении и серии его решений, называемой серией Ньюмана.

Лучистый перенос представляет собой широко распространенный в астрофизике процесс, который играет большую роль как в теоретических исследованиях, так и в практических наблюдениях. Для решения уравнений лучистого переноса были предложены различные методы, среди которых метод Монте-Карло является наиболее важным и широко используемым численным методом из-за его простоты и высокой производительности.

Обычная реализация метода Монте-Карло (или схема отслеживания фотонов), однако, имеет неотъемлемый недостаток, состоящий в том, что в результате проведения большого количества вычислений достигается не очень устойчивое решение с высокими величинами отклонений, поэтому большая часть вычислительных мощностей расходуется впустую.

Для преодоления этого недостатка Сяолинь Ян и его коллеги предложили новую схему, в которой они предлагают использовать для решения уравнений лучистого переноса интегральное уравнение и его ньюмановское решение вместо отслеживания фотонов.

У этой новой схемы есть значительные преимущества. Она предполагает учет вклада фотонов в итоговый результат на каждом участке рассеяния, что существенно повышает эффективность и точность расчетов. В результате описанный выше недостаток метода удается устранить. Метод может быть использован как для уравнений лучистого переноса, в которых присутствует поляризация излучения, так и для уравнений, описывающих неполяризованное излучение, в рамках единого подхода. Процедура расчета упрощается, если система имеет осевую или сферическую симметрию. Кроме того, метод может быть применен напрямую для решения любых дифференциально-интегральных уравнений с корректно указанными начальными или граничными условиями.

Код Lemon разработан полностью на этих новых принципах и написан на языке FORTRAN 90. Он находится в открытом доступе и может быть скачан по ссылке: github.com/yangxiaolinyn/Lemon

Исследование появилось на сервере предварительных научных публикаций arxiv.org.

https://forum.sources.ru/index.php?showtopic=421513&view=findpost&p=3848012


Метки:  

Crysis 1. Что говорит Ацтек на мексиканском перед гибелью?

Среда, 09 Июня 2021 г. 18:43 + в цитатник

Метки:  

Угадайте страну по фотографии

Среда, 09 Июня 2021 г. 13:26 + в цитатник
DrUnkard: Ну это проще-простого! Олег Блохин - самый знаменитый нападающий Киевского Динамо и сборной СССР.
Я его узнал по физиономии, хотя можно предполагать и по киевскому номеру на его Волге и по тому, что фотка сделана на Крещатике. :D

Добавлено
А это Блохин нынче. Так переживает, шо аж всё по губам читается.

user posted image

https://forum.sources.ru/index.php?showtopic=371854&view=findpost&p=3847998


Метки:  

TreeView в офисе 2010 64 bit

Среда, 09 Июня 2021 г. 13:26 + в цитатник
mottura: Спасибо.
Это находка для office х64

https://forum.sources.ru/index.php?showtopic=413977&view=findpost&p=3847997


Метки:  

MVS: помогите найти место вывода переменной

Вторник, 08 Июня 2021 г. 21:00 + в цитатник

Метки:  

MVS: помогите найти место вывода переменной

Вторник, 08 Июня 2021 г. 21:00 + в цитатник
Qraizer: Berbraer, почему бы тебе просто не сказать, какого результата ото всех своих усилий тебе хочется достичь?

https://forum.sources.ru/index.php?showtopic=421488&view=findpost&p=3847989


Метки:  

Угадайте страну по фотографии

Вторник, 08 Июня 2021 г. 18:54 + в цитатник
swf: Угадайте лучшего футболиста Европы по фотографии :jokingly:
______.jpg (, : 67)

https://forum.sources.ru/index.php?showtopic=371854&view=findpost&p=3847988


Метки:  

MVS: помогите найти место вывода переменной

Вторник, 08 Июня 2021 г. 14:28 + в цитатник
ЫукпШ:
Цитата Berbraer @
Ок, поищу форматы. Но m_TestWrite и иже там не встречается точно.

Берем TotalCommander.
Начинаем поиск в директории с zip-ом исходников.
Указываем "все файлы", "ищем в архивах",
строка "m_TestWrite".
Обнаруживаем её тут:
user posted image
Смотрим файлы, и видим, что m_TestWrite - это объекты-статики:
    CStaticFx m_TestWrite0;
    CStaticFx m_TestWrite1;
    CStaticFx m_TestWrite2;
    CStaticFx m_TestWrite3;

T.е., по всей вероятности, это "станция конечная" для всех переменных.
Значение как-то добывается, считается. Далее преобразуется в строку,
а потом для отображения выводится в статик.
Переменную надо нежно брать за хобот в момент перед преобразованием
в строку. Именно в этой точке имеется готовое к выводу число.

https://forum.sources.ru/index.php?showtopic=421488&view=findpost&p=3847981


Метки:  

Вопрос о микроволновке: опасность облучения СВЧ.

Вторник, 08 Июня 2021 г. 12:57 + в цитатник
scrambrella:
Цитата Qraizer @
Цитата scrambrella @
Может делаете тонны документации на ПО по ЕСПД?
Гигабайты. А что?

А можете объяснить для чайника что эти гигабайты доказывают. Забудем про проблему остановки.
Вот одна программа сгенерировала гигабайты доказательства корректности сертифицируемой программы. Вторая программа проверила эти гигабайты и сказала, что всё в порядке.
Где гарантия, что ни в первой проверяющей программе ни во второй нет багов?
Где гарантия, что в исполняющем программы процессоре нет багов, что в процессе проверки не произошло ни одной ошибки чтения-записи памяти?
Как эти гигабайты убедят покупателя сертифицированной программы в том, что в ней нет багов?

https://forum.sources.ru/index.php?showtopic=421132&view=findpost&p=3847979


Метки:  

Кто во что играет

Вторник, 08 Июня 2021 г. 09:09 + в цитатник
A.I.: Попробовал 4-й. Исплевался. Ни хрена не понял за систему прокачки. Вообще. Геймплей в первые часа полтора показался смесью крафта и спасения. Оно и дальше так будет? Мне, как фанату 2-го и NV больно :yes-sad:

https://forum.sources.ru/index.php?showtopic=251162&view=findpost&p=3847975


Метки:  

MVS: помогите найти место вывода переменной

Вторник, 08 Июня 2021 г. 01:20 + в цитатник
Berbraer: Ок, поищу форматы. Но m_TestWrite и иже там не встречается точно. Придётся идти шагами...
Но в строке DDX_Control(pDX, IDC_TEST_READ_0, m_TestRead0); переменная m_TestRead0 - строковая?
А можно её из строки прям тут взад в бинарную преобразовать?
Ну, кроме ручного метода вычитания 0x30 из символов, домножения на степень 10 и сложения :D

https://forum.sources.ru/index.php?showtopic=421488&view=findpost&p=3847972


Метки:  

MVS: помогите найти место вывода переменной

Понедельник, 07 Июня 2021 г. 23:37 + в цитатник
ЫукпШ:
Цитата Berbraer @
Но как достать переменные, содержащие значения выводимые на экран, не могу разобраться, памагити! :wall:

Надо исследовать подсудимую программу.
я делаю так:
1. Скачаем программу DebugView с сайта Микрософт:
DebugView
2. Запустим прогу, увидим окошко.
3. Добавим модуль с таким текстом в твою программу (или спрячем модуль в библиотеку):
    void Type_Debug_String(const TCHAR* pFmt,...)
    {
    if(!pFmt) return;
    va_list ap; //Указатель на список параметров
    va_start(ap,pFmt); //Настроились на список параметров
    TCHAR sss[32768];
    _vsntprintf_s(sss,ARRAYSIZE(sss),_TRUNCATE,pFmt,ap);
    ::OutputDebugString(sss);
    va_end(ap); //Завершаем работу с макрокомандами
    }

4. Если в исходниках исследуемой программы захочется подсмотреть,
как менются некие переменные (в разных точках программы в процессе работы)
просто пишем вывод в стиле С:
    // если i - это int i, d - это double d
    Type_Debug_String(_T("i=%d i=0x%X d=%e"),i,i,d);

В окошке DebugView увидим выводимые строчки.
итп итд
-----
Что касается всего исследования - у тебя есть подсказка.
Объекты-строки содержат операцию "Format".
Именно посредством этой операции, возможно, численные значения преобразуются
в строку для последующего вывода в контрол.
Значит, надо искать среди этих объектов-строк -
какой из них содержит интересующую переменную.
Добравшись до этого объекта можно искать дальше всю логику и историю
вычислений/изменений/преобразований конкретной переменной.

https://forum.sources.ru/index.php?showtopic=421488&view=findpost&p=3847970


Метки:  

MVS: помогите найти место вывода переменной

Понедельник, 07 Июня 2021 г. 19:16 + в цитатник
Berbraer:
Цитата Qraizer @

Вернулся к задаче после небольшого перерыва, нашёл, что вывод происходит через DDX_Control, нашёл ID индикаторов и сам диалог:

    void CDiskMarkDlg::DoDataExchange(CDataExchange* pDX)
    {
    CMainDialogFx::DoDataExchange(pDX);
    DDX_Control(pDX, IDC_BUTTON_ALL, m_ButtonAll);
    DDX_Control(pDX, IDC_BUTTON_TEST_0, m_ButtonTest0);
    DDX_Control(pDX, IDC_BUTTON_TEST_1, m_ButtonTest1);
    DDX_Control(pDX, IDC_BUTTON_TEST_2, m_ButtonTest2);
    DDX_Control(pDX, IDC_BUTTON_TEST_3, m_ButtonTest3);
    //вот тут
    DDX_Control(pDX, IDC_TEST_READ_0, m_TestRead0);
    DDX_Control(pDX, IDC_TEST_READ_1, m_TestRead1);
    DDX_Control(pDX, IDC_TEST_READ_2, m_TestRead2);
    DDX_Control(pDX, IDC_TEST_READ_3, m_TestRead3);
    DDX_Control(pDX, IDC_TEST_WRITE_0, m_TestWrite0);
    DDX_Control(pDX, IDC_TEST_WRITE_1, m_TestWrite1);
    DDX_Control(pDX, IDC_TEST_WRITE_2, m_TestWrite2);
    DDX_Control(pDX, IDC_TEST_WRITE_3, m_TestWrite3);
    #ifdef MIX_MODE
    DDX_Control(pDX, IDC_TEST_MIX_0, m_TestMix0);
    DDX_Control(pDX, IDC_TEST_MIX_1, m_TestMix1);
    DDX_Control(pDX, IDC_TEST_MIX_2, m_TestMix2);
    DDX_Control(pDX, IDC_TEST_MIX_3, m_TestMix3);
    DDX_Control(pDX, IDC_COMBO_MIX, m_ComboMix);
    #endif
    DDX_Control(pDX, IDC_COMMENT, m_Comment);
    DDX_Control(pDX, IDC_COMBO_COUNT, m_ComboCount);
    DDX_Control(pDX, IDC_COMBO_SIZE, m_ComboSize);
    DDX_Control(pDX, IDC_COMBO_DRIVE, m_ComboDrive);
    DDX_Control(pDX, IDC_COMBO_UNIT, m_ComboUnit);
    DDX_Control(pDX, IDC_DEMO_SETTING, m_DemoSetting);
    DDX_Control(pDX, IDC_READ_UNIT, m_ReadUnit);
    DDX_Control(pDX, IDC_WRITE_UNIT, m_WriteUnit);
    #ifdef MIX_MODE
    DDX_Control(pDX, IDC_MIX_UNIT, m_MixUnit);
    #endif
    DDX_Text(pDX, IDC_COMBO_COUNT, m_ValueTestCount);
    DDX_Text(pDX, IDC_COMBO_SIZE, m_ValueTestSize);
    DDX_Text(pDX, IDC_COMBO_DRIVE, m_ValueTestDrive);
    DDX_Text(pDX, IDC_COMBO_UNIT, m_ValueTestUnit);
    DDX_CBIndex(pDX, IDC_COMBO_COUNT, m_IndexTestCount);
    DDX_CBIndex(pDX, IDC_COMBO_SIZE, m_IndexTestSize);
    DDX_CBIndex(pDX, IDC_COMBO_DRIVE, m_IndexTestDrive);
    DDX_CBIndex(pDX, IDC_COMBO_UNIT, m_IndexTestUnit);
    #ifdef MIX_MODE
    DDX_CBIndex(pDX, IDC_COMBO_MIX, m_IndexTestMix);
    #endif
    }


С утра пытаюсь достать значение m_TestRead. Тестирую на флешке, параметры которой известны. Пытаюсь просто умножить m_TestRead на 2-100, чтобы увидеть изменение цифры на экране ну и понять, что я добрался до непосредственно значения, а не указателя и т.п.
И нифига. Либо заворачивает компилятор, либо компилятор пропускает, но на экране вообще ничего не изменяется...
Обычно вижу это:

    DDX_Control(pDX, IDC_TEST_READ_0, (m_TestRead0*100));
    1>F:\!!CrystalDiskMark8_0_2Src\CrystalDiskMark\DiskMarkDlg.cpp(193,50): error C2678: бинарный "*": не найден оператор, принимающий левый операнд типа "CStaticFx" (или приемлемое преобразование отсутствует)
    1>C:\Program Files (x86)\Windows Kits\Include.0.19041.0\um\d2d1helper.h(1003,1): message : может быть "D2D1_MATRIX_3X2_F operator *(const D2D1_MATRIX_3X2_F &,const D2D1_MATRIX_3X2_F &)" (компилируется исходный файл DiskMarkDlg.cpp)
    1>F:\!!CrystalDiskMark8_0_2Src\CrystalDiskMark\DiskMarkDlg.cpp(193,50): message : при попытке сопоставить список аргументов "(CStaticFx, int)"
    1>F:\!!CrystalDiskMark8_0_2Src\CrystalDiskMark\DiskMarkDlg.cpp(193,51): error C2660: DDX_Control: функция не принимает 2 аргументов
    1>C:\Program Files (x86)\Microsoft Visual Studio19\Community\VC\Tools\MSVC.28.29910\atlmfc\include\afxdd_.h(71,13): message : см. объявление "DDX_Control" (компилируется исходный файл DiskMarkDlg.cpp)
    1>Сборка проекта "DiskMark.vcxproj" завершена с ошибкой.
    -------------------
    m_TestRead0 *= 10;
    1>F:\!!CrystalDiskMark8_0_2Src\CrystalDiskMark\DiskMarkDlg.cpp(192,14): error C2676: бинарный "*=": "CStaticFx" не определяет этот оператор или преобразование к типу приемлемо к встроенному оператору
    1>Сборка проекта "DiskMark.vcxproj" завершена с ошибкой.


Раскурил код, насколько позволяют мои два с половиной познания Си. m_TestRead определена классом CStaticFx, этот класс написан автором кода. Но в DDX_Control она передаётся в стандартный класс CWnd, причём, через указатель, насколько понимаю значение символа &.
В итоге, совершенно не понятно, появляется ли тут непосредственно результат вычисления скорости диска, или это некая смычка между классами и всё?...
Я в глубокой растерянности. Как записать значение в лог представляю, собственно, у автора лог ведётся стандартным спринтф емнип. Но как достать переменные, содержащие значения выводимые на экран, не могу разобраться, памагити! :wall:

Вот основыные части кода:

    CStaticFx m_TestRead0;
    CStaticFx m_TestRead1;
    CStaticFx m_TestRead2;
    CStaticFx m_TestRead3;
    CStaticFx m_TestWrite0;
    CStaticFx m_TestWrite1;
    CStaticFx m_TestWrite2;
    CStaticFx m_TestWrite3;
    //-----------------------------------------------------------------------------
    void AFXAPI DDX_Control(CDataExchange* pDX, int nIDC, CWnd& rControl);
    //-----------------------------------------------------------------------------
    void CDiskMarkDlg::DoDataExchange(CDataExchange* pDX)
    {
    CMainDialogFx::DoDataExchange(pDX);
    DDX_Control(pDX, IDC_BUTTON_ALL, m_ButtonAll);
    DDX_Control(pDX, IDC_BUTTON_TEST_0, m_ButtonTest0);
    DDX_Control(pDX, IDC_BUTTON_TEST_1, m_ButtonTest1);
    DDX_Control(pDX, IDC_BUTTON_TEST_2, m_ButtonTest2);
    DDX_Control(pDX, IDC_BUTTON_TEST_3, m_ButtonTest3);
    //m_TestRead0 *= 2;
    DDX_Control(pDX, IDC_TEST_READ_0, (m_TestRead0));
    DDX_Control(pDX, IDC_TEST_READ_1, m_TestRead1);
    DDX_Control(pDX, IDC_TEST_READ_2, m_TestRead2);
    DDX_Control(pDX, IDC_TEST_READ_3, m_TestRead3);
    DDX_Control(pDX, IDC_TEST_WRITE_0, m_TestWrite0);
    DDX_Control(pDX, IDC_TEST_WRITE_1, m_TestWrite1);
    DDX_Control(pDX, IDC_TEST_WRITE_2, m_TestWrite2);
    DDX_Control(pDX, IDC_TEST_WRITE_3, m_TestWrite3);
    #ifdef MIX_MODE
    DDX_Control(pDX, IDC_TEST_MIX_0, m_TestMix0);
    DDX_Control(pDX, IDC_TEST_MIX_1, m_TestMix1);
    DDX_Control(pDX, IDC_TEST_MIX_2, m_TestMix2);
    DDX_Control(pDX, IDC_TEST_MIX_3, m_TestMix3);
    DDX_Control(pDX, IDC_COMBO_MIX, m_ComboMix);
    #endif
    DDX_Control(pDX, IDC_COMMENT, m_Comment);
    DDX_Control(pDX, IDC_COMBO_COUNT, m_ComboCount);
    DDX_Control(pDX, IDC_COMBO_SIZE, m_ComboSize);
    DDX_Control(pDX, IDC_COMBO_DRIVE, m_ComboDrive);
    DDX_Control(pDX, IDC_COMBO_UNIT, m_ComboUnit);
    DDX_Control(pDX, IDC_DEMO_SETTING, m_DemoSetting);
    DDX_Control(pDX, IDC_READ_UNIT, m_ReadUnit);
    DDX_Control(pDX, IDC_WRITE_UNIT, m_WriteUnit);
    #ifdef MIX_MODE
    DDX_Control(pDX, IDC_MIX_UNIT, m_MixUnit);
    #endif
    DDX_Text(pDX, IDC_COMBO_COUNT, m_ValueTestCount);
    DDX_Text(pDX, IDC_COMBO_SIZE, m_ValueTestSize);
    DDX_Text(pDX, IDC_COMBO_DRIVE, m_ValueTestDrive);
    DDX_Text(pDX, IDC_COMBO_UNIT, m_ValueTestUnit);
    DDX_CBIndex(pDX, IDC_COMBO_COUNT, m_IndexTestCount);
    DDX_CBIndex(pDX, IDC_COMBO_SIZE, m_IndexTestSize);
    DDX_CBIndex(pDX, IDC_COMBO_DRIVE, m_IndexTestDrive);
    DDX_CBIndex(pDX, IDC_COMBO_UNIT, m_IndexTestUnit);
    #ifdef MIX_MODE
    DDX_CBIndex(pDX, IDC_COMBO_MIX, m_IndexTestMix);
    #endif
    }
    //------------------------------------------------------------
    class CStaticFx : public CStatic
    {
    DECLARE_DYNAMIC(CStaticFx);
    public:
    // Constructors
    CStaticFx();
    virtual ~CStaticFx();
    // Control
    BOOL InitControl(int x, int y, int width, int height, double zoomRatio, CDC* bkDC,
    LPCWSTR imagePath, int imageCount, DWORD textAlign, int renderMode, BOOL bHighContrast, BOOL bDarkMode);
    void SetMargin(int top, int left, int bottom, int right, double zoomRatio);
    CSize GetSize(void);
    void SetDrawFrame(BOOL bDrawFrame);
    void SetDrawFrameEx(BOOL bDrawFrame, COLORREF frameColor = RGB(128, 128, 128));
    void SetGlassColor(COLORREF glassColor, BYTE glassAlpha);
    void SetMeter(BOOL bMeter, double meterRatio);
    void SetLabelUnit(CString label, CString unit);
    // Font
    void SetFontEx(CString face, int size, int sizeToolTip, double zoomRatio, double fontRatio = 1.0,
    COLORREF textColor = RGB(0, 0, 0), LONG fontWeight = FW_NORMAL, BYTE fontRender = CLEARTYPE_NATURAL_QUALITY);
    // ToolTip
    void SetToolTipText(LPCTSTR pText);
    void SetToolTipActivate(BOOL bActivate = TRUE);
    void SetToolTipWindowText(LPCTSTR pText);
    CString GetToolTipText();
    // Mouse
    void SetHandCursor(BOOL bHandCuror = TRUE);
    protected:
    // Draw Control
    virtual void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct);
    virtual void DrawControl(CDC* drawDC, LPDRAWITEMSTRUCT lpDrawItemStruct, CBitmap& ctrlBitmap, CBitmap& bkBitmap, int no);
    virtual void DrawString(CDC* drawDC, LPDRAWITEMSTRUCT lpDrawItemStruct);
    // Image
    BOOL LoadBitmap(LPCTSTR fileName);
    BOOL LoadBitmap(HBITMAP hBitmap);
    void SetBkReload(void);
    BOOL SetBitmap(CBitmap& bitmap);
    void LoadCtrlBk(CDC* drawDC);
    // ToolTip
    void InitToolTip();
    virtual BOOL PreTranslateMessage(MSG* pMsg);
    // Message Map
    DECLARE_MESSAGE_MAP()
    afx_msg BOOL OnEraseBkgnd(CDC* pDC);
    afx_msg void OnMouseMove(UINT nFlags, CPoint point);
    afx_msg void OnMouseHover(UINT nFlags, CPoint point);
    afx_msg void OnMouseLeave();
    afx_msg void OnKillfocus();
    afx_msg void OnSetfocus();
    afx_msg BOOL OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message);
    protected:
    // Control
    int m_X;
    int m_Y;
    CSize m_CtrlSize;
    CRect m_Margin;
    int m_RenderMode;
    BOOL m_bHighContrast;
    BOOL m_bDarkMode;
    BOOL m_bDrawFrame;
    COLORREF m_FrameColor;
    CString m_Label;
    CString m_Unit;
    // Glass
    COLORREF m_GlassColor;
    BYTE m_GlassAlpha;
    // Meter
    BOOL m_bMeter;
    double m_MeterRatio;
    // Image
    CString m_ImagePath;
    int m_ImageCount;
    CDC* m_BkDC;
    CBitmap m_BkBitmap;
    BOOL m_bBkBitmapInit;
    BOOL m_bBkLoad;
    CBitmap m_CtrlBitmap;
    CImage m_CtrlImage;
    // Font
    DWORD m_TextAlign;
    CFont m_Font;
    CFont m_FontToolTip;
    COLORREF m_TextColor;
    // ToolTip
    CToolTipCtrl m_ToolTip;
    CString m_ToolTipText;
    // Mouse
    BOOL m_bHover;
    BOOL m_bFocas;
    BOOL m_bTrackingNow;
    BOOL m_bHandCursor;
    };

https://forum.sources.ru/index.php?showtopic=421488&view=findpost&p=3847962


Метки:  

План создания сильного ИИ

Понедельник, 07 Июня 2021 г. 16:27 + в цитатник

Метки:  

Угадайте страну по фотографии

Понедельник, 07 Июня 2021 г. 15:14 + в цитатник

Метки:  

Поиск сообщений в rss_forum_sources_ru
Страницы: 2628 ... 2561 2560 [2559] 2558 2557 ..
.. 1 Календарь