Нужна помощь в поиске класса, реализующего главное окно в исходном коде Chromium

Возможный дубликат:
Пользовательские заголовки / хром в приложение WinForms

Я надеюсь получить помощь от людей, которые уже изучили исходный код Chromium.

Пока что лучшим кандидатом является класс NativeWidgetWin, который находится в файле e: \ chromium.r92402 \ home \ chrome-svn \ tarball \ chromium \ src \ ui \ views \ widget \ native_widget_win.cc, но я не уверен. Может ли кто-нибудь сказать, тот ли класс, который я ищу?

[Edit] Хорошо, я обнаружил, что NativeWidgetWin - это класс главного окна в Chromium, поэтому проблема решена.


person sashoalm    schedule 14.07.2011    source источник
comment
Почему бы вам вместо этого не спросить: «Как мне реализовать окно без полей, как это делает Chromium в Windows?»   -  person R. Martinho Fernandes    schedule 14.07.2011
comment
Поскольку этот вопрос уже задавался: Как Chrome реализует свои вкладки?, и Пользовательские заголовки / хром в приложении WinForms   -  person Cody Gray    schedule 14.07.2011
comment
См. Также: msdn.microsoft.com/en-us/library/bb688195.aspx   -  person Cody Gray    schedule 14.07.2011
comment
@ martinho-fernandes Я уже реализовал окно без полей, переопределив WM_NCCALCSIZE, и я знаю, как это делается. Я хочу сравнить, как они это сделали в Chromium, потому что здесь нужны обходные пути для XP. Я уберу часть, в которой говорится, зачем мне это нужно, на случай, если именно поэтому он получил близкие голоса.   -  person sashoalm    schedule 14.07.2011
comment
Опять же, вы все еще задаете неправильный вопрос. Сосредоточьтесь на проблемах, которые у вас возникают в Windows XP, и спросите, как исправить эти. Я ничего не знаю об исходном коде Google Chrome, но я много знаю о программировании DWM и WinAPI. Я подозреваю, что гораздо больше людей вроде меня могут дать вам полезный совет, чем людей, которые могут рассказать вам, как перемещаться по каталогу \src Chromium.   -  person Cody Gray    schedule 15.07.2011
comment
@ cody-grey Я только что нашел решение моей проблемы с заголовками. Речь шла о невоспроизводимой, недетерминированной отправке двух недокументированных сообщений, отправленных в мое главное окно, которые называются WM_NCUAHDRAWCAPTION и WM_NCUAHDRAWFRAME, и которые заставляют DefWindowProc перерисовывать панель заголовков, не соблюдая мою обработку WM_NCCALCSIZE, в которой говорится, что нет неклиентская зона. Мне пришлось использовать Spy ++ и WinMerge, чтобы найти их, но после того, как я узнал их имена, я нашел полный абзац с объяснением проблемы и ее решения в исходном коде Chromium ...   -  person sashoalm    schedule 15.07.2011
comment
stackoverflow.com/questions/1146365/ Однако будьте осторожны, полагаясь на недокументированные сообщения.   -  person Cody Gray    schedule 15.07.2011
comment
@ cody-gray ... Моя проблема заключалась не только в том, чтобы знать, как создать окно без полей, обрабатывая WM_NCCALCSIZE (другой способ плох по многим причинам). У меня была эта ошибка, из-за которой XP иногда перекрашивала панель заголовков (но это происходило не всегда, казалось, что нужно было воспроизвести несколько факторов, например переключение фокуса щелчком мыши из окна, которое частично перекрывает главное окно). Я просто не думал, что это тот вопрос, на который можно легко ответить, просто задавая вопросы на форумах, но я знал, что ребята, занимающиеся Chrome, должны были решить его, поэтому я надеялся найти там решение.   -  person sashoalm    schedule 15.07.2011