USBLexus
Опытный
Offline
Пол:
Кот рыжий
|
|
« : 26-06-2006 07:22 » |
|
Обнаружил такую штуку - ставишь заголовок через SetWindowText(...) Вроде ставится Затем создается следующее окно и все сбрасывается(( Как победить?
|
|
|
Записан
|
#define QUESTION(b) (2*b)||(!(2*b)) (c) William Shakespeare
|
|
|
Джон
просто
Администратор
Offline
Пол:
|
|
« Ответ #1 : 26-06-2006 09:32 » |
|
MFC?
|
|
|
Записан
|
Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома. "Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash "Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman "All science is either physics or stamp collecting." Ernest Rutherford "Wer will, findet Wege, wer nicht will, findet Gründe."
|
|
|
USBLexus
Опытный
Offline
Пол:
Кот рыжий
|
|
« Ответ #2 : 26-06-2006 09:36 » |
|
MFC
|
|
|
Записан
|
#define QUESTION(b) (2*b)||(!(2*b)) (c) William Shakespeare
|
|
|
Джон
просто
Администратор
Offline
Пол:
|
|
« Ответ #3 : 26-06-2006 09:55 » |
|
Посмотри виртуальную ф-ю объекта CDocument::SetTitle(CString) - она устанавливает имя документа и соответственно имя CChildFrame. зы Я имею ввиду вызывай её с нужным текстом
|
|
« Последнее редактирование: 26-06-2006 09:58 от Джон »
|
Записан
|
Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома. "Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash "Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman "All science is either physics or stamp collecting." Ernest Rutherford "Wer will, findet Wege, wer nicht will, findet Gründe."
|
|
|
USBLexus
Опытный
Offline
Пол:
Кот рыжий
|
|
« Ответ #4 : 26-06-2006 10:05 » |
|
Забыл написать Я не использую Document/View прдставление У меня CMDIChildWnd
|
|
|
Записан
|
#define QUESTION(b) (2*b)||(!(2*b)) (c) William Shakespeare
|
|
|
Джон
просто
Администратор
Offline
Пол:
|
|
« Ответ #5 : 26-06-2006 11:44 » |
|
Тогда посмоьри в исходниках MFC, что в "нормальном" случае делает SetTitle, какие переменные меняет. Или же CMDIChildWnd Во всяком случае должна быть переменная у объекта, которую SetWindowText не переписывает (это API-шный враппер). Кстати у CMDIChildWnd (у CFrameWnd) тоже есть SetTitle
зы А собственно говоря, почему нет? Ведь въюха тебе всё-равно нужна. А документ можно и не использовать. ИМХО гораздо удобней, всё-равно ведь MFC.
|
|
|
Записан
|
Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома. "Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash "Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman "All science is either physics or stamp collecting." Ernest Rutherford "Wer will, findet Wege, wer nicht will, findet Gründe."
|
|
|
x77
Команда клуба
Offline
Пол:
меняю стакан шмали на обратный билет с Марса.
|
|
« Ответ #6 : 26-06-2006 14:19 » |
|
а как в визуал С++ создаётся окно? в object pascal объявляется класс, TForm, у которого есть свойство Caption (соответствующее виндовому Text) и при создании экземпляра класса это свойство инициализируется значением, задаваемым в дезайн-тайме. не уверен, что здесь уместна подобная аналогия, но ощущение такое, что заголовок окна меняется у экземпляра класса, а не у самого класса, и соответственно при создании каждого нового экземпляра значение инициализируется исходным значением соответствующего свойства класса.
|
|
|
Записан
|
|
|
|
Джон
просто
Администратор
Offline
Пол:
|
|
« Ответ #7 : 26-06-2006 15:38 » |
|
Проблема в том, что SetWindowText изменяет параметры структуры окна на уровне API. У MFC-шных объектов есть свои поля для подобных вещей, например у изменённых chaild в MDI при изменении добавляются * и тд. Поэтому инфа после SetWindowText держится до след. апдейта. Потом она переписывается данными из мембер-переменной.
|
|
|
Записан
|
Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома. "Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash "Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman "All science is either physics or stamp collecting." Ernest Rutherford "Wer will, findet Wege, wer nicht will, findet Gründe."
|
|
|
USBLexus
Опытный
Offline
Пол:
Кот рыжий
|
|
« Ответ #8 : 27-06-2006 07:12 » |
|
Сделал так: //Меняем заголовок окна SetTitle(FileName); SetWindowText(FileName);
Вроде бы заработало как надо... странно...
|
|
|
Записан
|
#define QUESTION(b) (2*b)||(!(2*b)) (c) William Shakespeare
|
|
|
acc15
Гость
|
|
« Ответ #9 : 27-06-2006 17:11 » |
|
могу сказать ещё одно - мфц это г*вно... даже в рифму =) VCL полюбому лучше, однако жаль не поддерживается по дефолту микрософтом как мфц, поэтому получаются такие объемные программы
ЗЫ: не в тему зато правда
|
|
« Последнее редактирование: 27-06-2006 17:13 от acc15 »
|
Записан
|
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #10 : 27-06-2006 18:52 » |
|
acc15, гонишь.
|
|
|
Записан
|
|
|
|
|