С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
C++ Builder
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
Buddha
13 / 19 / 0
Регистрация: 22.09.2011
Сообщений: 28
1

Проблема с

22.09.2011, 16:11. Просмотров 701. Ответов 8
Метки нет (Все метки)

Здравствуйте!

Проблема такого вида: "сообщение должно содержать кнопки Ok, Cancel и после нажатия на кнопки должно выводиться простое сообщение об выбранной кнопке"

Использую:
C++
1
2
3
4
5
6
7
8
9
10
void __fastcall TForm1::Confirmation1Click(TObject *Sender)
{
  MessageDlg("Нажмите кнопку", mtConfirmation, TMsgDlgButtons() << mbOK<<mbCancel, 0);
  if (mrIgnore) {
    ShowMessage("Нажата кнопка \"Cancel\"");
  }
  if (mrOk) {
    ShowMessage("Нажата кнопка \"OK\"");
  }
}
Но после F9 программа корректно не работает. При нажатии на "OK" или "Cancel" получается ахинея.

Так же нужна помощь с вопросом: "уменьшение размеров формы на 50 точек; (изменяются левая, правая, нижняя и верхняя границы главной формы)".

Использовал:
C++
1
2
3
4
5
void __fastcall TForm1::N501Click(TObject *Sender)
{
Form1->Width=Form1->Width-25;
Form1->Height=Form1->Height-25;
}
Но это не то.
Версия программы: Borland Builder C++ 5.0.

Спасибо всем кто отзовется
1
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.09.2011, 16:11
Ответы с готовыми решениями:

Проблема с VS
Привет, поставил себе Visual Studio 2005 релиз, все до этого работало...

Проблема с выполнением
TMaskEdit* MaskEdit = { MaskEdit1, MaskEdit2, MaskEdit3, MaskEdit4, MaskEdit5,...

Проблема с условием
if (Form1-&gt;N1231-&gt;Checked==true) ...

Проблема с Билдером
Может это и не проблема, но у меня почему-то при изменении и сохранении кода, а...

проблема is not a member
Ошибка выдается в 58,69,74 строках...не могу разобраться в чем дело:(...

8
LK
Заблокирован
22.09.2011, 17:01 2
C++
1
2
3
4
if (MessageDlg("Нажмите кнопку", mtConfirmation, TMsgDlgButtons() << mbOK<<mbCancel, 0)==mrIgnore) {
  ShowMessage("Нажата кнопка \"Cancel\"");
 }
 else {ShowMessage("Нажата кнопка \"OK\"");}
второй вопрос опишите внятно - "это не то" - можете сказать отказавшей вам девушке.
1
Buddha
13 / 19 / 0
Регистрация: 22.09.2011
Сообщений: 28
22.09.2011, 23:38  [ТС] 3
Спасибо за ответ и остроумие. Ваш код работает, но тоже не корректно как и мой. При нажатии на кнопку "Cancel" появляется сообщение "Нажата кнопка ОК"

По поводу второго вопроса: нужно что бы абсолютно все границы формы уменьшались на 50 точек (единиц). Помогите описать эту процедуру.
0
LK
Заблокирован
23.09.2011, 00:53 4
н-да, тупое копипастирование тупого года подвело и меня:
C++
1
2
3
4
5
6
if (MessageDlg("", mtConfirmation,
               TMsgDlgButtons() << mbOK<<mbCancel, 0)
               == mrCancel) { // mrCancel !!
    ShowMessage("Нажата кнопка \"Cancel\"");
 }
 else {ShowMessage("Нажата кнопка \"OK\"");}
1
Миниатюры
Проблема с  
LK
Заблокирован
23.09.2011, 01:06 5
Цитата Сообщение от Buddha
Использовал:
C++
1
2
3
4
5
void __fastcall TForm1::N501Click(TObject *Sender)
{
Form1->Width=Form1->Width-25;
Form1->Height=Form1->Height-25;
}
- в общем случае, это правильно, почему
Цитата Сообщение от Buddha
это не то
?
0
Buddha
13 / 19 / 0
Регистрация: 22.09.2011
Сообщений: 28
23.09.2011, 01:29  [ТС] 6
Спасибо что помогли с первым вопросом

2. Должны изменяться левая, правая, нижняя и верхняя границы главной формы, а при:
C++
1
2
3
4
5
void __fastcall TForm1::N501Click(TObject *Sender)
{
Form1->Width=Form1->Width-25;
Form1->Height=Form1->Height-25;
}
верхняя и левая границы остаются статичными. Уменьшение формы происходит лишь снизу и справа.
0
LK
Заблокирован
23.09.2011, 01:40 7
они всегда остаются статичными, вам следует самостоятельно сдвигать форму вниз-вправо на 1/2 числа, на которое уменьшаете форму, т.е.:
C++
1
2
3
4
5
int i = 50;
Form1->Width=Form1->Width-i;
Form1->Height=Form1->Height-i;
Form->Left = Form->Left+i/2;
Form->Top = Form->Top+i/2;
1
Buddha
13 / 19 / 0
Регистрация: 22.09.2011
Сообщений: 28
23.09.2011, 02:08  [ТС] 8
Спасибо за эффективный ответ. Уже со всем разобрался
1
LK
Заблокирован
23.09.2011, 02:19 9
еще можно, если форма была в одной из предустановленных позиций в Инспекторе объетов, просто указать эту позицию, например
C++
1
Form->Position = poDesktopCenter;
0
Изображения
 
23.09.2011, 02:19
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.09.2011, 02:19

Проблема с классом
Доброе времени суток...у меня проблема в создании класса - динамического...

Проблема с is not a member
#include &lt;stdlib.h&gt; #include &lt;conio.h&gt; #include&lt;string.h&gt; #include&lt;stdio.h&gt;...

ПРОБЛЕМА С МАСШТАБИРОВАНИЕМ!!
У меня такая проблема. Мне необходимо, чтобы при разворачивании окна кнопки...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru