Модераторы: LSD

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> BCB и VCL vs Qt & mingw 
:(
    Опции темы
Vyacheslav
Дата 11.10.2007, 13:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2124
Регистрация: 25.3.2002
Где: Москва

Репутация: нет
Всего: 59



Цитата(JackYF @  10.10.2007,  07:58 Найти цитируемый пост)
чисто на интерес - а теперь на чём пишешь?

До недавнего момента VC6. Разрабатывал в основном консольные кроссплатформенные приложения: разработка и сборка Windows на VC6, на Linux - gcc, на HP - acc.  А на данный момент в виду отсутствия проектов  - ASP.Net



--------------------
С уважением, Вячеслав Ермолаев
PM MAIL WWW ICQ   Вверх
Любитель
Дата 13.10.2007, 20:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

Репутация: 5
Всего: 92



Цитата(Lazin @  9.10.2007,  09:21 Найти цитируемый пост)
Если к примеру нужно что-нибудь рисовать на форме (виджете, окне) то последовательность действий везде одна и та-же:
VCL
ловим событие OnPaint, получаем Canvas компонента (формы), и рисуем..
Qt
ловим событие - аналог OnPaint? получаем QPainter рисуем...
wxWidgetsв обработчике OnPaint получаем wxDC
...вынь32 api
по событию WM_PAINT получаем HDC.........

Супер описание алгоритма! Долго смеялся. Любая программа как пишется - берём да пишем smile Те же графические функции VCL явно, мягко говоря, недоделаны...

Цитата(Vyacheslav @  9.10.2007,  19:59 Найти цитируемый пост)
Создав приложение на CLX, я мог перенести код на Linux и спомощью C++ Kylix 3 собрать его там.

Мог... А вот реально никто почему-то таким не занимался smile Наверно, есть причины...

Цитата(Vyacheslav @  9.10.2007,  19:59 Найти цитируемый пост)
Это достигалось тем, что CLX, которая  обеспечиавоа прицип RAD, являлась настройкой над ...  Qt

Ага, Qt 2 smile По сравнению, с действительно неплохой тройкой и обалденной четвёркой...

Цитата(Lazin @  9.10.2007,  08:06 Найти цитируемый пост)
Ну так если вы так напишите то кроссплатформенность коту под хвост.

Сколь тонкий юмор! Вы хотели обрабатывать сообщения винды (зачем - не знаю, мне ни разу в куте сие не понадобилось, ибо всё, что нужно уже обрабатывается в недрах библиотеки) - обрабатывайте. При чём тут кроссплатформенность? Кроссплатформенность достигается переходом на более высокий уровеь абстракции, сообщения винды явно не тот уровень smile

Насчёт RAD - во-первых, это в принципе  зависит не от либы, а от ИДЕ (точнее того набора этихсамых RAD-инструментов). Мы вроде не собирались ИДЕ обсуждать. Тем не менее у куте отличный простор для создания всяких подобных средств благодаря развитой системе метаинформации (хотя лично мне не нравиться то, что это система не родная для C++, впрочем тяжело представить возможность "родной" реализции всего ентого дела).

Вообще, обсужждение обречено на провал с самого начала...


--------------------
PM MAIL ICQ Skype   Вверх
MrCherry
Дата 15.10.2007, 09:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 31.5.2006

Репутация: нет
Всего: нет



Цитата

Вообще VCL - довольно хорошая библиотека, только она спроектирована основываясь на возможностях языка Delphi, ну и вообще недостатков хватает, НО достоинства тоже есть,

имхо переписать весь билдер только с точки зрения с++ - получится замая афиигенная вещь всех времён и народов, да и сейчас вполне интересная штука...
PM MAIL   Вверх
Lazin
Дата 15.10.2007, 11:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 4
Всего: 154



Цитата(Любитель @  13.10.2007,  20:18 Найти цитируемый пост)
Кроссплатформенность достигается переходом на более высокий уровеь абстракции, сообщения винды явно не тот уровень

topic
в VCL эта проблема решилась бы просто: TextCtrl->ReadOnly = true;
или можно установить стиль ES_READONLY.
а в Qt:
Цитата(archimed7592 @  12.10.2007,  08:45 Найти цитируемый пост)
1. Унаследоваться от необходимого виджета и переопределить ф-цию event в которой и фильтровать все события, кроме отрисовки.
2. Возможно setFocusPolicy(Qt::NoFocus) сделает всё что тебе нужно.
3. Заменить нужный виджет пустым, но старый не удалять, а делать для него realWidget->render(dummyWidget/*, ... */), когда необходима перерисовка. 

Есть подозрение что многие проблемы в Qt решаются именно так  smile 
PM MAIL Skype GTalk   Вверх
archimed7592
Дата 15.10.2007, 11:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Архимед
****


Профиль
Группа: Завсегдатай
Сообщений: 2531
Регистрация: 12.6.2004
Где: Moscow

Репутация: 2
Всего: 93



Цитата(Lazin @  15.10.2007,  11:26 Найти цитируемый пост)
в VCL эта проблема решилась бы просто: TextCtrl->ReadOnly = true;
или можно установить стиль ES_READONLY.

И что, после этого отключилось бы контекстное меню?


Цитата(Lazin @  15.10.2007,  11:26 Найти цитируемый пост)
Есть подозрение что многие проблемы в Qt решаются именно так  smile  

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


--------------------
If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas.
© George Bernard Shaw
PM Jabber   Вверх
JackYF
Дата 15.10.2007, 11:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 2
Всего: 162



Цитата(archimed7592 @  15.10.2007,  11:30 Найти цитируемый пост)
Кусто что-то молчит, не отписывается

У Кусто целые выходные были... гм... траблы с оборудованием, которые только вчера вечером начали решаться...

Как только руки дойдут, я займусь той темой опять...

Цитата(Lazin @  15.10.2007,  11:26 Найти цитируемый пост)
в VCL эта проблема решилась бы просто: TextCtrl->ReadOnly = true;

ещё один недочитавший мой первый пост в той теме...

Цитата(archimed7592 @  15.10.2007,  11:30 Найти цитируемый пост)
И что, после этого отключилось бы контекстное меню?

От меня дальше: перестало бы работать выделение текста?
Перестал бы изменяться курсор?


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
Lazin
Дата 15.10.2007, 12:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 4
Всего: 154



Цитата(archimed7592 @  15.10.2007,  11:30 Найти цитируемый пост)
И что, после этого отключилось бы контекстное меню?

Ну тогда можно добавить
edit->PopupMenu = new TPopupMenu(this);
или
edit->Enabled = false;
edit->Color = clWindow;


PM MAIL Skype GTalk   Вверх
archimed7592
Дата 15.10.2007, 12:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Архимед
****


Профиль
Группа: Завсегдатай
Сообщений: 2531
Регистрация: 12.6.2004
Где: Moscow

Репутация: 2
Всего: 93



Цитата(Lazin @  15.10.2007,  12:02 Найти цитируемый пост)
Ну тогда можно добавить
edit->PopupMenu = new TPopupMenu(this);
или
edit->Enabled = false;
edit->Color = clWindow;

Угу, угу... И т.д. и т.п. - чем больше требований тем больше кода... Что уж будет когда ты наконец прочитаешь топик внимательно и наконец то узришь там, что контрол произвольный(может быть совсем не edit)...


--------------------
If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas.
© George Bernard Shaw
PM Jabber   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила ведения Религиозных войн
Smartov
1. Уважайте собеседника
2. Собеседник != враг
3. Старайтесь воздерживаться от тем вида "Windows Rulez" или "Linux Rulez"

С уважением, Smartov.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Религиозные войны | Следующая тема »


 




[ Время генерации скрипта: 0.0802 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.