1. Пользуйтесь тегами кода. - [code] ... [/code] 2. Точно указывайте язык, название и версию компилятора (интерпретатора). 3. Название темы должно быть информативным. В описании темы указываем язык!!!
Собственно,есть проэкт в VS 2008 C++,у фрейма есть кнопка и picturebox.По нажатии на кнопку должна отрисоваться сетка из прямоугольников.(100х100 где то) Дело в том что после нажания кнопки происходит отрисовка,но по завершению результат пропадает,приходится нажимать 2 раз,и тогда от нормально и длительно отображается,хотя иногда тоже пропадает.Мне непонятно почему такое может происходить??Еще мне немного не нравится та скорость,с которой происходит отрисовка,можно ли ее как нибудь ускорить?Дело в том,что потом для каждой "клетки" будет задаваться свой собственный цвет.
Чуешь, да, куда я клоню? Ширину и высоту 3 и 4 параметром. А не конечную точку. То есть, у тебя отрисовывалось не много маленьких прямоугольников, а много больших, причем постоянно увеличивающихся в размере. Итого, вот такой код:
float y = 0; for(int j = 0; j <= N; j++) { float x = h * Xkoef; for(int i = 1; i <= N; i++) { if ((i + j) % 2 == 1) { g.FillRectangle( hBrush, x, y, h * Xkoef, h * Ykoef); } else { g.FillRectangle( hBrush2, x, y, h * Xkoef, h * Ykoef); } x += h * Xkoef; } y += h * Ykoef; } }
работает на порядок быстрее...
Цитата
я к счастью, или к несчастью, не на нем пишу.
А на чем же ты пишешь? Graphics^, SolidBrush^, System::Object^, System::EventArgs^ - это что, по-твоему? WinAPI?