Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» создание интерфейса (пользователя) прикладной программы

Автор: LeoTon
Дата сообщения: 03.11.2006 13:17
Нужно в Delphi 7 переключить ListWiew в режим отображения Плиткой, как в проводнике Windows XP.
Нашел, как переключать его в режим отображения группами, но подобрать комбинайию флагов для режима Плиткой не получается.

Возможно, мне поможет прога из коплекта Вижулов по разбиранию на сообщения и свойства процессов, не помню как называется, если у кого это уже установлено, не могли бы мне дать список флагов ListView'а из проводника в режиме отображения файлов Плиткой...
Автор: akaGM
Дата сообщения: 13.05.2007 15:05
хочу получить ответ на такой вот вопрос:

может кто-нибудь кратко и понятно сравнить две основополагающие библиотеки под Линакс: Qt и gtk с точки зрения написания GUI (кросс-платформенность не важна, именно Л)?

плюсы и минусы, простота использования и т.п. в _сравнении_?
а не список написанной на их основе прикладнухи, мол, KDE круче Gnome, GIMP vs KPaint и т.д...

знаю, что есть большой топ по Qt (а по gtk нет), но там объяснят только все прелести самой Qt...

?
Автор: imgen
Дата сообщения: 13.05.2007 17:51
qt - красиво , но медленно ,
gtk - быстро , проблемы со шрифтами , и некрасиво
Автор: akaGM
Дата сообщения: 14.05.2007 11:59
"по три, но маленькие, большие, но по пять... но вчера..."

а быстро -- это что, код? окошки быстро таскаются? (что, в общем-то, непринципиально и есть маздай) или быстро гуй строится?
Автор: alexnab
Дата сообщения: 17.02.2008 15:05
сайт http://usability.ru/ заражен вирусом Trojan-Clicker.JS.Agent.h
Автор: AlekXL
Дата сообщения: 02.05.2008 05:21
akaGM
MDI в том виде, который использовался, например, в Word97 (а Word - это, в сущности стандарт), это ерунда.
Во-первых сама MS от этого ифейса отказалась в последующих версиях продукта.
Во-вторых, MS практически не развивает этот ифейс в Win.
В-третьих, MDI славился багами в дельфях и прочих средах.
В-четвертых, я не уверен, но, кажется, Win создает отдельную нить(thread) для каждого дочернего MDI окна. Нужно ли вам это?
В-пятых, MDI вовсе не так уж удобен и прост. Пользователь всегда стремится увеличить основную рабочую область, так что он максимизирует окошко с MDI, а его сестренкам придется прятаться под разделом меню "Окна", а зачем? Вы же паскалисты, а в дельфях вам дан наглядный пример, как можно эффективно реализовать закладки.

Суть в том, что пользователь в данный момент времени способен работать только с одним документом и MDI не нужен.

Почти любая прога должна иметь следующую модель интерфейса.
Главное меню. Любая команда или действие должны быть доступны отсюда.
Тулбар/ребар
Панель статуса(statusbar) для отображения тек. операций и состояний/режимов
Рабочая часть, которую можно сделать с закладками, как дельфи, опере, VS.NET IDE
Окна свойств, как Object Inspector/Project manager в дельфи или Solution Explorer в VS7. Лучше всего пристыковываемые и с возможностью автомотического сокрытия/свертывания.
Диалоги настроек в отдельных окна, в том числе немодальные. Если вы не знаете, они НИКАКОГО отношения к MDI в собственном понимании термина не имеют.


Автор: xeroslov
Дата сообщения: 21.08.2008 17:14
Помогите пожалуйста с вырезанием кнопки по региону. Инициализацию всё проходит довольно успешно. Но при нажатии на кнопку появляется фон по которому я вырезал регион
Вот код обработчика:

Код: switch(Msg)
{
case WM_INITDIALOG:
{
hInformation=GetDlgItem(hwnd,IDC_BUTTON1);

hbmInformation=LoadBitmap(GetModuleHandle(NULL),MAKEINTRESOURCE(IDB_BUTTON_COMMON));
hbmInformationHover=LoadBitmap(GetModuleHandle(NULL),MAKEINTRESOURCE(IDB_BUTTON_PRESSED));
}break;
case WM_DRAWITEM:
{
LPDRAWITEMSTRUCT lpdis=(LPDRAWITEMSTRUCT)lParam;
HDC hdcMem=CreateCompatibleDC(lpdis->hDC);

if (lpdis->hwndItem == hInformation)
{
HDC hCDC=CreateCompatibleDC(lpdis->hDC);

HBITMAP &hBmp=bInformationStateButton?hbmInformationHover:hbmInformation;

HBITMAP hBmpOld=(HBITMAP)SelectObject(hCDC,hBmp);

StretchBlt(lpdis->hDC,0,0,lpdis->rcItem.right-lpdis->rcItem.left,
lpdis->rcItem.bottom - lpdis->rcItem.top,hCDC,0,0,
SizeBitmap(hBmp).cx, SizeBitmap(hBmp).cy,SRCCOPY);

SelectObject(hCDC, hBmpOld);
DeleteDC(hCDC);

RsrcHand=FindResource(NULL,MAKEINTRESOURCE(IDR_RGN1),RsrcType);
RsrcPoint=LoadResource(NULL,RsrcHand);
RsrcSize=SizeofResource(NULL,RsrcHand);
SetWindowRgn(hInformation,ExtCreateRegion(NULL,RsrcSize,(RGNDATA*) RsrcPoint),TRUE);
}
}break;
case WM_COMMAND:
{
if (wParam==IDCANCEL) // Exit button
{
ExitProcess(0);
}
if (IDC_BUTTON1)
{
bInformationStateButton=TRUE;
MessageBox(hwnd,"pressed","caption",MB_OK);

// как быть дальше?
}
}break;
case WM_CLOSE:
{
EndDialog(hwnd,0);
}break;
}
return 0;
}
Автор: akaGM
Дата сообщения: 21.08.2008 19:17
xeroslov
ты или на msdn поищи или в ветку про API обратись (тут же на форуме)...
Автор: xeroslov
Дата сообщения: 21.08.2008 20:25
да искал уже - мало чего понял. в ветку про API обратился - результат никакой пока
Автор: xterm
Дата сообщения: 03.10.2009 08:37
Коллеги, может кто-нибудь подскажет, откуда взят симпатичный ListView из программы URUSoft Subtitle Workshop. В Qt я слегка покопался, но идентичности добиться не смог, то ли недостаточно покопался, то ли это всё-таки не Qt. Скриншот прилагаю, заранее спасибо.
Автор: G787
Дата сообщения: 06.10.2009 17:08
AlekXL
А что не так с MDI, если можно по подробней.
Автор: akaGM
Дата сообщения: 06.10.2009 17:39
xterm

Цитата:
откуда взят симпатичный ListView из программы URUSoft Subtitle Workshop

а на чём это чудо (Subtitle Workshop) пИсано?
Автор: Erazer
Дата сообщения: 06.10.2009 23:06
xterm
Возьми редактор ресурсов и вперед изучать. Если запакована, попробуй то что позволяет щупать в памяти.
Автор: xterm
Дата сообщения: 07.10.2009 04:54
akaGM

Цитата:
а на чём это чудо (Subtitle Workshop) пИсано?

Не знаю, самому интересно

Erazer
Не хоцца, но видно придётся. Пару дней подожду ещё, может кто подскажет...

Автор: Hiken
Дата сообщения: 07.10.2009 05:35
xterm
akaGM
Возьмите хоть PEiD (ru.wikipedia.org/wiki/PEiD) и гляньте уже.
Автор: xterm
Дата сообщения: 07.10.2009 12:35
Hiken

Цитата:
Возьмите хоть PEiD (ru.wikipedia.org/wiki/PEiD) и гляньте уже.

По описанию хорошая штучка, только летит с unhandled exception.

Фиг знает, стринги названий типов внутри экзешника на "T" начинаются, один из вариантов - дельфи, а я всю жизнь на M$ сижу, дельфи и в глаза не видел. Чувствую, сейчас познакомимся.
Автор: Hiken
Дата сообщения: 07.10.2009 17:13

Цитата:
unhandled exception.

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

Ну а так я вообще не пойму, чем этот контрол красивый? Если и правда Delphi, то очень может быть, что это VirtualTreeview.
Автор: data man
Дата сообщения: 07.10.2009 17:35
xterm
Он запакован UPX. Написан на Delphi.
И действительно используется VirtualTreeview.

[more=Вот полный список используемых модулей:]
SubtitleWorkshop4 [MainUnit]
UTypes [ImplicitUnit]
UWControls [ImplicitUnit]
UWStringUtils [ImplicitUnit]
FastStrings [ImplicitUnit]
SysUtils [ImplicitUnit]
ImageHlp [ImplicitUnit]
Windows [WeakUnit, OrgWeakUnit, ImplicitUnit]
Types [ImplicitUnit]
SysInit
System
SysConst [ImplicitUnit]
Math [ImplicitUnit]
Classes [ImplicitUnit]
RTLConsts [ImplicitUnit]
ActiveX [ImplicitUnit]
Messages [WeakUnit, OrgWeakUnit, ImplicitUnit]
TypInfo [ImplicitUnit]
Variants [ImplicitUnit]
VarUtils [ImplicitUnit]
UWFiles [ImplicitUnit]
UWPlaylist [ImplicitUnit]
Menus [ImplicitUnit]
UxTheme [ImplicitUnit]
SyncObjs [ImplicitUnit]
CommCtrl [WeakUnit, OrgWeakUnit, ImplicitUnit]
Registry [ImplicitUnit]
IniFiles [ImplicitUnit]
Themes [ImplicitUnit]
Controls [ImplicitUnit]
DwmApi [ImplicitUnit]
Forms
StdActns [ImplicitUnit]
ShlObj [WeakUnit, OrgWeakUnit, ImplicitUnit]
UrlMon [WeakUnit, OrgWeakUnit, ImplicitUnit]
WinInet [WeakUnit, OrgWeakUnit, ImplicitUnit]
RegStr [WeakUnit, OrgWeakUnit, ImplicitUnit]
ShellAPI [WeakUnit, OrgWeakUnit, ImplicitUnit]
StrUtils [ImplicitUnit]
Clipbrd [ImplicitUnit]
Consts [ImplicitUnit]
Graphics [ImplicitUnit]
ImgList [ImplicitUnit]
Dialogs [ImplicitUnit]
HelpIntfs [ImplicitUnit]
Contnrs [ImplicitUnit]
MultiMon [ImplicitUnit]
WideStrUtils [ImplicitUnit]
Dlgs [WeakUnit, OrgWeakUnit, ImplicitUnit]
ExtCtrls [ImplicitUnit]
GraphUtil [ImplicitUnit]
StdCtrls [ImplicitUnit]
ActnList [ImplicitUnit]
Printers [ImplicitUnit]
WinSpool [WeakUnit, OrgWeakUnit, ImplicitUnit]
CommDlg [WeakUnit, OrgWeakUnit, ImplicitUnit]
FlatSB [ImplicitUnit]
Imm [WeakUnit, OrgWeakUnit, ImplicitUnit]
UWBitmap32 [ImplicitUnit]
UWSysUtils [ImplicitUnit]
UWCPUCaps [ImplicitUnit]
UWClasses [ImplicitUnit]
UWBitmap32Blend [ImplicitUnit]
pngimage [ImplicitUnit]
pnglang [ImplicitUnit]
pngzlib [ImplicitUnit]
UWGraphicUtils [ImplicitUnit]
UWTimeUtils [ImplicitUnit]
UWFileUtils [ImplicitUnit]
UWFormUtils [ImplicitUnit]
UWTimers [ImplicitUnit]
UWAudioTypes [ImplicitUnit]
DirectShow9 [ImplicitUnit]
ComObj [ImplicitUnit]
ComConst [ImplicitUnit]
MMSystem [WeakUnit, OrgWeakUnit, ImplicitUnit]
Direct3D9 [ImplicitUnit]
DXTypes [ImplicitUnit]
DirectSound [ImplicitUnit]
DirectDraw [ImplicitUnit]
UWVisualizations [ImplicitUnit]
UWAudioUtils [ImplicitUnit]
UWFastFourier [ImplicitUnit]
UDirectShow [ImplicitUnit]
UWUnicode [ImplicitUnit]
UFunctions [ImplicitUnit]
UWFlatControls [ImplicitUnit]
Spin [ImplicitUnit]
Buttons [ImplicitUnit]
TB2MRU [ImplicitUnit]
TB2Consts [ImplicitUnit]
TB2Common [ImplicitUnit]
TB2Item [ImplicitUnit]
TBSkinShared [ImplicitUnit]
TBSkinPlus [ImplicitUnit]
TB2ToolWindow [ImplicitUnit]
TB2Dock [ImplicitUnit]
TB2Toolbar [ImplicitUnit]
TB2Hook [ImplicitUnit]
TB2Anim [ImplicitUnit]
UWSubtitleApi [ImplicitUnit]
UWInetUtils [ImplicitUnit]
ZLib [ImplicitUnit]
ZLibConst [ImplicitUnit]
XMLIntf [ImplicitUnit]
xmldom [ImplicitUnit]
msxmldom [ImplicitUnit]
XMLConst [ImplicitUnit]
msxml [ImplicitUnit]
UWConfig [ImplicitUnit]
XMLDoc [ImplicitUnit]
XMLSchema [ImplicitUnit]
XMLSchemaTags [ImplicitUnit]
UWSubtitleFunctions [ImplicitUnit]
RegExpr [ImplicitUnit]
UWVirtualStringTreeUtils [ImplicitUnit]
VirtualTrees [ImplicitUnit]
VTAccessibilityFactory [ImplicitUnit]
oleacc [ImplicitUnit]
AxCtrls [ImplicitUnit]
StdVCL [ImplicitUnit]
LibXmlParser [ImplicitUnit]
UWDialogs [ImplicitUnit]
UMain
UAdjust
ComCtrls [ImplicitUnit]
ExtActns [ImplicitUnit]
Mapi [ImplicitUnit]
ExtDlgs [ImplicitUnit]
ComStrs [ImplicitUnit]
ListActns [ImplicitUnit]
ToolWin [ImplicitUnit]
RichEdit [WeakUnit, OrgWeakUnit, ImplicitUnit]
UOutputSettings
UTexts
UCustomFormat
UImageExport [ImplicitUnit]
UWSubtitleTemplate [ImplicitUnit]
UImageConversion [ImplicitUnit]
UWBMP2TIFF [ImplicitUnit]
UExport
UExportFunctions [ImplicitUnit]
ColorPickerButton [ImplicitUnit]
UAbout
uPSR_dateutils [ImplicitUnit]
uPSUtils [ImplicitUnit]
uPSRuntime [ImplicitUnit]
uPSC_dateutils [ImplicitUnit]
uPSCompiler [ImplicitUnit]
uPSR_controls [ImplicitUnit]
uPSC_controls [ImplicitUnit]
uPSR_graphics [ImplicitUnit]
uPSC_graphics [ImplicitUnit]
uPSC_stdctrls [ImplicitUnit]
uPSR_stdctrls [ImplicitUnit]
uPSR_extctrls [ImplicitUnit]
uPSC_extctrls [ImplicitUnit]
uPSR_classes [ImplicitUnit]
uPSC_classes [ImplicitUnit]
uPSR_buttons [ImplicitUnit]
uPSC_buttons [ImplicitUnit]
uPSR_comobj [ImplicitUnit]
uPSC_comobj [ImplicitUnit]
uPSC_menus [ImplicitUnit]
uPSR_menus [ImplicitUnit]
uPSC_forms [ImplicitUnit]
uPSR_forms [ImplicitUnit]
uPSC_std [ImplicitUnit]
uPSR_std [ImplicitUnit]
uPSC_dll [ImplicitUnit]
uPSR_dll [ImplicitUnit]
UError
UTimings
UWSpeller [ImplicitUnit]
USearchAndReplace
UWProjectFile [ImplicitUnit]
uPSComponent [ImplicitUnit]
uPSPreProcessor [ImplicitUnit]
uPSDebugger [ImplicitUnit]
UWHint [ImplicitUnit]
ActnMan [ImplicitUnit]
ActnColorMaps [ImplicitUnit]
ActnCtrls [ImplicitUnit]
ActnMenus [ImplicitUnit]
ABAccessibility [ImplicitUnit]
ShadowWnd [ImplicitUnit]
StdStyleActnCtrls [ImplicitUnit]
StdActnMenus [ImplicitUnit]
TB2ExtItems [ImplicitUnit]
UWDirectShowUtils [ImplicitUnit]
UWVideoTypes [ImplicitUnit]
UWVideoFilter [ImplicitUnit]
UWVideoColorSpace [ImplicitUnit]
UWVideoFunctions [ImplicitUnit]
BaseClass [ImplicitUnit]
DSUtil [ImplicitUnit]
DxDiag [ImplicitUnit]
WMF9 [ImplicitUnit]
UWAudioFilter [ImplicitUnit]
MatroskaSplitter [ImplicitUnit]
UWAudioFunctions [ImplicitUnit]
UWGraphLog [ImplicitUnit][/more]
Автор: xterm
Дата сообщения: 08.10.2009 04:12
Hiken

Цитата:
Ну а так я вообще не пойму, чем этот контрол красивый?

Красивый - это пол-дела. По нему видно, что в нём решены некоторые баги, присущие стандартному виндоусовскому и соответственно дотнетовскому контролу, половину из которых я решил, а половину ещё нет. В нём шаг вправо или влево - и по уши в багах из-за непрорисовки, двойной прорисовки и т.д. Я имею в виду, в detailed mode.

data man
Супер.
Спасибо всем огромное, вопрос решён.

Страницы: 123

Предыдущая тема: Дизайн программы на чем делать?


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.