Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: 1 [2]  Все   Вниз
  Печать  
Автор Тема: визуальная разработка в visual studio2005  (Прочитано 29539 раз)
0 Пользователей и 3 Гостей смотрят эту тему.
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #30 : 21-04-2009 05:39 » 

BobCat, ну как бы перед началом работы с контролами в процедуре в первом методе нужно вызвать UpdateData(1). При этом данные с экрана запишутся в переменные (если где то будет ошибка, то вернётся FALSE а на экране ещё окошко выскочет, что там то там то косяк).  поработали, закидываем всё обратно на экран - UpdateData(0)

я когда то этим пользовался, но потом меня перестало устраивать, слишком негибко. Теперь только 2 способ у меня Улыбаюсь
Записан

BobCat
Интересующийся

ru
Offline Offline
Пол: Мужской

« Ответ #31 : 21-04-2009 22:06 » 

Ну вот, наконец-то в голове сложилась более-менее целостная картина о том как работать в вижуал студии. Много отличий от Билдера(там все проще) но будем считать что все эти неудобства закаляют дух настоящего программиста Отлично
Благодарствую старшим братьям-программистам, и привожу  работающий код :
Код:
void Cmfc_dialogDlg::OnBnClickedButton1()
{
CEdit* pEdit=(CEdit*)GetDlgItem(EDIT1);
CString  a("проверка");
pEdit->SetWindowTextW(a);
}
Скачал хорошую книгу Visual C++ Разработка Windows-приложен помощью MFC и API-функц В.Давыдов 2008(+ CD-ROM),  многое проясняет и врубает сразу и в API и MFC, есть даже про редактор ресурсов!
Записан

Отлаживать код вдвое сложнее, чем писать. Поэтому, если при написании программы вы используете весь свой интеллект, вы по определению недостаточно умны, чтобы ее отладить.     Брайан Керниган
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #32 : 21-04-2009 22:13 » 

ещё варианты:

Код:
	CEdit* pEdit=(CEdit*)GetDlgItem(EDIT1);
pEdit->SetWindowTextW("проверка");

Код:
	((CEdit*)GetDlgItem(EDIT1))->SetWindowTextW("проверка");


Код:
	SetDlgItemText(EDIT1,"проверка");

Улыбаюсь
Записан

BobCat
Интересующийся

ru
Offline Offline
Пол: Мужской

« Ответ #33 : 21-04-2009 22:45 » 

а вот и нет  Что, съел?
Код:
pEdit->SetWindowTextW("проверка");
я уже началь было бится головой ап стену, пока смог привести тип:
error C2664: 'CWnd::SetWindowTextW' : cannot convert parameter 1 from 'const char [9]' to 'LPCTSTR'
попутно открыл для себя что не прокатывает даже
Код:
CString  a = "проверка";
, так как нету такого конструктора для класса CString, а уж раз там конструкнор, подумал я, значит надо создавать объект, а не присваивать ему значение, тогда только родилось
Код:
CString  a("проверка");
а ведь в билдере все приведения типов происходят автоматически, и даже не надо самому прописывать указатель на нужный контрол, после перетаскивания мышкой на форму, к нему можно просто сразу обращаться по имени, прям на "ты" Улыбаюсь
а за варианты работы с указателями спасибо, буду знать  Улыбаюсь
Записан

Отлаживать код вдвое сложнее, чем писать. Поэтому, если при написании программы вы используете весь свой интеллект, вы по определению недостаточно умны, чтобы ее отладить.     Брайан Керниган
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #34 : 21-04-2009 22:57 » new

SetWindowText без W )

и CString  a = "проверка"; тоже прекрасно работает

вообще то, типы приводятся не в борланде или студии, а в языке си++
Записан

BobCat
Интересующийся

ru
Offline Offline
Пол: Мужской

« Ответ #35 : 21-04-2009 23:07 » 

Алексей1153++, это я значит не отключил юникод в настройках проекта,  просто SetWindowTextW выбирал из выпадающего списка, а в тот момент там без W не было. Сейчас юникод отключил и все заработало!
Записан

Отлаживать код вдвое сложнее, чем писать. Поэтому, если при написании программы вы используете весь свой интеллект, вы по определению недостаточно умны, чтобы ее отладить.     Брайан Керниган
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #36 : 21-04-2009 23:12 » 

SetWindowText это макрос потому что )
Записан

BobCat
Интересующийся

ru
Offline Offline
Пол: Мужской

« Ответ #37 : 21-04-2009 23:20 » 

 Здесь была моя ладья... вот за всеми этими тонкостями и премудростями чистый С++ немного теряется
плюс это куча заморочек только под винду, а есть есче линукс...
как объять необъятное?
Записан

Отлаживать код вдвое сложнее, чем писать. Поэтому, если при написании программы вы используете весь свой интеллект, вы по определению недостаточно умны, чтобы ее отладить.     Брайан Керниган
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #38 : 22-04-2009 08:24 » 

Это всё происходит от того, что смешиваются такие понятия как программирование и язык программирования, язык программирования и среда разработки под определённую платформу, синтаксис языка и API. Вот когда поймёшь в чём между ними разница, а точнее пропасть, жить станет легче. Ага
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"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."
Страниц: 1 [2]  Все   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines