Все технические форумы на одном сайте Удобный поиск информации с популярных форумов в одном месте
Вопрос: Minimize Box сворачивает всё

Есть главное окно, потом открывается еще 1 окно в котором есть кнопка свёртывания, проставленная в свойствах Minimize Box.
вызывается как 
Цитата

CMyDlg dlg;
dlg.DoModal();

только при нажатии кнопки сворачивания почему то сворачивается вся программа, а хотелось бы чтобы сворачивался только открытый диалог.


Ответ:
было
Код

void CMyView::OnSomeButtonPress() 
{
    CMyDlg dlg;
    dlg.DoModal();
}

BOOL CMyDlg::OnInitDialog() 
{
    CDialog::OnInitDialog();

    //some init here...


    //new modal dialog here (if comment this CMyDlg works as modal)
    CSettingsDlg dlg;
    dlg.DoModal();

    //...
 }


вообщем проблема решилась надо было так.

Код

void CMyView::OnSomeButtonPress() 
{
    CMyDlg dlg;
    dlg.DoModal();
}

BOOL CMyDlg::OnInitDialog() 
{
    CDialog::OnInitDialog();

    //some init here...


    //new modal dialog here (if comment this CMyDlg works as modal)
    CSettingsDlg dlg(this);
    dlg.DoModal();

    //...
 }


Это сообщение отредактировал(а) mrgloom - 19.9.2013, 09:24

Вам также можеть быть интересно:

SDI приложение
диалог без заголовка
unordered_map Visual Studio 2012
скопировать HPEN
Вывод в edit числа
Вопрос: Как оставив кнопку minimize удалить кнопку maximize в Windows Form?

Всем здравствуйте.
Устанавливаю:
FormBorderStyle = Fixed Single
MaximizeBox = False
MinimizeBox = True
В этом случае MaximizeBox делается недоступным, но совсем не удаляется. Можно ли сделать так, чтобы FormBorderStyle остался Fixed Single, а слева от "крестика" находился только один значок MinimizeBox.
Если установить и MaximizeBox = False и MinimizeBox = False, то "крестик" остаётся в одиночестве, а хотелось бы иметь возможность (стандартную) сворачивать окно на панель задач и разворачивать его в исходные размеры.
Ответ: Khaker_tt, Попробовал предложенный Вами код в XP. В отличие от Win8.1 в ней пункт системного меню "развернуть" блокируется, а кнопка "развернуть" нет. К тому же двойной щелчок по заголовку разворачивает форму во весь экран даже при заблокированном пункте системного меню "развернуть".
Вопрос: Оптимизация функции через scipy.optimize.minimize

Добрый день!

Я только начинаю осваивать язык, совсем ещё новичок. Помогите, пожалуйста, разобраться с оптимизацией в SciPy.

У меня дана функция f(x) = sin(x / 5) * exp(x / 10) + 5 * exp(-x / 2) на промежутке [1, 30]. Надо найти минимум, используя scipy.optimize.minimize (задав только функцию и начальное приближение).

После надо указать в scipy.optimize.minimize метод BFGS и запустить из начального приближения x=2.

Заранее огромное спасибо!

Я делала следующим образом, но мне выдаёт ошибку и я дальше не могу рассчитывать:

Python
1
2
3
4
5
6
7
8
9
10
11
from scipy import optimize
import numpy as np
import math
from matplotlib import pylab as plt
 
def f(x):
    return math.sin(x / 5) * math.exp(x / 10) + 5 * math.exp(-x / 2)
x = [i for i in range(1, 31)]
y = [f(i) for i in x]
x_min = optimize.minimize(f, [1,30])
print x_min
Ответ: У вас модуль SciPy установлен?
Вопрос: Как запретить сворачивание второй формы, когда сворачиваешь первую?

Добрый день. В форме_1 создаю форму_2 указывая владельца форму_1.
Вопрос: как запретить сворачивание формы_2, когда сворачиваешь форму_1 ???
Заранее благодарю за помощь.
Ответ: Печальбеда. Ручное разворачивание при сворачивании хозяина не помогает
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
namespace SharpWinForms
{
    public partial class MainForm : Form
    {
        private Form2 secondForm;
 
        public MainForm() {
            InitializeComponent();
            secondForm = new Form2();
            secondForm.Owner = this;
            secondForm.Show();
        }
 
        protected override void WndProc(ref Message m) {
            const int WM_SYSCOMMAND = 0x0112;
            const int SC_MINIMIZE = 0xF020;
 
            if (m.Msg == WM_SYSCOMMAND && (int)m.WParam == SC_MINIMIZE) {
                secondForm.WindowState = FormWindowState.Normal;
            }
 
            base.WndProc(ref m);
        }
    }
}
Теперь сомневаюсь, что это вообще возможно.
Вопрос: Как сворачивать форму?

Как "свернуть" форму, что бы все ее настройки сохранялись. Как я понимаю, надо создать ее копию, после чего ее надо открывать (Form.Show() и сворачивать (КАК!?!)
Буду благодарен за помощь
Ответ: Свернуть текущую форму можно так
C#
1
this.WindowState = FormWindowState.Minimized;
Можно ещё создать форму и свернуть её
C#
1
2
3
Form form = new Form();
            form.Show();
            form.WindowState = FormWindowState.Minimized;
Вопрос: Сворачиваемое/разворачиваемое treeview (ToolStripContainer?)

Добрый день всем!
Вопрос: Какими средствами реализовать сворачиваемое/разворачиваемое treeview и обработчик событий, на примере VS ? Может быть, есть у кого то готовое решение/пример? Буду признателен!
Аттач под скрепкой
и пример на ЯД
Ответ: Решилось фреймворком WeifenLuo.WinFormsUI.Docking.dll
Вопрос: Сворачивание окна программы в панель задач и трей

Здравствуйте. Помогите советом) Недавно начал изучать VB 2010) Так вот... Скажите, какая команда сворачивает программу при нажатия на кнопку? Мне нужны команды, которые сворачивают в панель задач и в трей...Спасибо)
Ответ:
vb.net
1
2
Me.ShowInTaskbar = Fаlse
Me.Visible = False
куда код вставлять?
Ещё раз вопрос: обычная форма Sizable. Развёрнута на экране. В SysTray есть её значок,
на панели задач от формы никаких следов нет.
Нажимаем на кнопку "свернуть" в заголовке окна.
при ShowInTaskbar = Fаlse над кнопкой ПУСК "прямоугольничек" свёрнутого окна.

Добавлено через 24 минуты
Немного уточню вопрос.
Ставим на форму Button
в Button_Click вставляем
vb.net
1
Me.Visible = False
тогда всё работает как я хочу.
Какое событие формы происходит по клику на значке "свернуть" в заголовке окна?

Добавлено через 3 часа 31 минуту
Ответ найден:
vb.net
1
2
3
4
5
6
7
8
9
10
   Private Sub frmGrfEdit_Resize(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Resize
        If Me.WindowState = FormWindowState.Maximized Then
            'MessageBox.Show("Maximize")
        ElseIf Me.WindowState = FormWindowState.Minimized Then
            'MessageBox.Show("Minimize")
            Me.Visible = False
        Else
            'MessageBox.Show("Other")
        End If
    End Sub
Вопрос: Scipy.optimize ошибка

Python
1
2
3
4
5
6
7
8
def sqerror(w0,w1):
    err=0
    for i,j in zip(data['Height'],data['Weight']):
       err=err+(i-(w0+w1*j))**2
    return(err)
from scipy.optimize import minimize
gr1=minimize(sqerror,x0=(0,0),method='L-BFGS-B',bounds=((-100,100),(-5,5)))
print(gr1)
дает исключение
TypeError: sqerror() missing 1 required positional argument: 'w1'
в чем ошибка?

Добавлено через 1 минуту
еще подскажите плз, только начинаю учить язык, как можно было красивее оформить функцию для квадратичной ошибки
Ответ: Цитата из документации "minimize(fun, x0[, args, method, jac, hess, ...]) Minimization of scalar function of one or more variables."

Добавлено через 2 часа 10 минут
решил вопрос заданием аргументов функции матрицей
Вопрос: Как отследить способ закрытия формы?

Всем здравствуйте.

Закрывая форму по крестику в заголовке запрещаем закрытие и сворачиваем форму на панель задач:
vb.net
1
2
3
4
    Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
        e.Cancel = True 'запрещаем закрытие
        Me.WindowState = FormWindowState.Minimized
    End Sub
Как теперь действительно закрыть форму (не сворачивать) воздействуя на соответствующий пункт контекстного меню значка формы на панели задач, а также воздействуя на пункт меню в заголовке формы? То есть блокируем закрытие только по клику на крестик.
Ответ: Сделай еще одно условие. Если кликаем по крестику и условие - False, то в FormClosing - сворачиваем, True - закрываем.
Вопрос: Сворачивание кода PascalABC.NET

Здравствуйте.
Появился вопрос, но ответа в интернете не нашел, так что решил задать тут, может кто поможет.
В настройках включил функцию сворачивания кода, но она сворачивает только процедуру целиком и появился закономерный вопрос - можно ли сделать так, чтобы сворачивать любые парные операторные скобки?
Ответ: PascalAbc.Net так не сворачивает.