Помогите ньюбу

Модераторы: Hawk, Romeo, Absurd, DeeJayC, WinMain

BBB
Сообщения: 1272
Зарегистрирован: 27 дек 2005, 13:37

03 окт 2007, 10:17

СВой писал(а):А я думал наобарот,первые координаты-это координаты левого нижнего и правого верхнего угла...хм...надо бы уточнить...
См. описание функции, там все сказано.
СВой писал(а):Т.е GetWindowText.IDC_EDIT1?
Если вызов в методе класса Cназвание_прогиDlg, то

GetDlgItem (IDC_EDIT1)->GetWindowText (...)

Ну или "для надежности" (что контрол IDC_EDIT1 существует) можно проверить на "не NULL" результат GetDlgItem:

CWnd *pEdit = GetDlgItem (IDC_EDIT1);
if (pEdit) {
pEdit->GetWindowText (...)
};
СВой писал(а):странно что с UpdateData(false) не пашет :( По идее должен был данные из поля в переменную заносить
Насколько я помню, если параметр ф-ии UpdateData равер FALSE, то данные переносятся из переменной (привязанной к этому полю) в поле.

-----------------------

Хоть это на первый взгляд и может показаться странным, но иногда порой удобнее обходиться без связанной с контролом переменной. Так как в случае наличия связанной переменной получается этакое дублирование информации. И надо аккуратно следить, чтобы одно значение соответсвовало другому. Т.е. постоянно, при возможных изменениях там либо сям, "гонять туда-сюда" UpdateData (false/true).

В случае отсутсвия связанной переменной такого дублирования нет. А в нужный момент просто делается чтение или запись значения из/в контрол через API-функции (если контрол из простых, ненавороченных, типа того же EDIT, то это и в самлм деле несложно).
СВой
Сообщения: 13
Зарегистрирован: 17 сен 2007, 15:17

03 окт 2007, 10:28

:) Да я так и сделал(я про UpdateData) все нормально построилось и вывелось.Сейчас попробую с занесением данных через GetWindow текст...теперь встала другая проблема,нужно как то добиться,что если я ввожу новые данные в поля,у меня по нажатию кнопки стирался старый прямоугольник и рисовался новый.!А то сейчас у меня при вводе нового значения и нажатия кнопки прямоугольник поверх рисуется :)

Так и не удалось затереть старый рисунок :( Понятия не имею как сделать
СВой
Сообщения: 13
Зарегистрирован: 17 сен 2007, 15:17

10 окт 2007, 16:31

:( Пропал...Никто больше помочь не сможет?
BBB
Сообщения: 1272
Зарегистрирован: 27 дек 2005, 13:37

11 окт 2007, 11:01

Про это, что ли?
СВой писал(а):Так и не удалось затереть старый рисунок :( Понятия не имею как сделать
Так закрась предварительно всю область, например FillRect - ом. А потом рисуй прямоугольник.
Sketch
Сообщения: 1
Зарегистрирован: 15 окт 2007, 04:41

15 окт 2007, 05:01

Совсем уж к чайниким по Си себя не отношу ,но подобная задача завела меня в тупик, надеюсь, кто-нибудь растолкует что к чему :)
Существует ли функция( или алгоритм), в Си( Си++), позволяющая воспринимать строку, введимую с клавиатуры как часть кода программы.
Например, ввод двух любых (по желанию пользователя) математических функций, по которым в дальнейшем ведётся рассчет.
Adamant
Сообщения: 17
Зарегистрирован: 08 окт 2007, 21:42

15 окт 2007, 21:09

Если можно попроще объяснить, что такое "обертка".
СВой
Сообщения: 13
Зарегистрирован: 17 сен 2007, 15:17

15 окт 2007, 22:18

BBB. как вариант бы сработало!Я воспользовался Invalidate... :) Очень помогло :) Все нормально перерисовывается.
Ответить