Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Заполнение массива






API окно заголовок

case WM_LBUTTONUP:

SetWindowText(hWnd, L" New ");

break;

case WM_KEYDOWN:

{

int new_x = 10;

int new_y = 10;

int Width = 100;

int Height = 100;

MoveWindow(hWnd, new_x, new_y, Width, Height, TRUE);

}

break;

BOOL SetWindowPos(HWND hwnd,

int y, //новая координата верхнего края

int cx, //новая ширина int cy, //новая высота

UINT uFlags); //флажок позиционирования

 

Проект MFC

#include < afxwin.h>

class CMyMainWnd: public CFrameWnd

{

public:

CMyMainWnd(){ //конструктор

Create(NULL, L" My title"); }

 

afx_msg void OnLButtonDown(UINT, CPoint);

afx_msg void OnRButtonDown(UINT, CPoint);

afx_msg void OnKeyDown(UINT, UINT, UINT);

afx_msg void OnPaint();

DECLARE_MESSAGE_MAP()

};

BEGIN_MESSAGE_MAP(CMyMainWnd, CFrameWnd)

ON_WM_LBUTTONDOWN()

ON_WM_RBUTTONDOWN()

ON_WM_PAINT()

ON_WM_KEYDOWN()

END_MESSAGE_MAP()

class CMyApp: public CWinApp{

public:

CMyApp(){}; //конструктор

virtual BOOL InitInstance(){

m_pMainWnd = new CMyMainWnd();

m_pMainWnd -> ShowWindow(SW_SHOW);

return TRUE; }

};

CMyApp theApp;

void CMyMainWnd:: OnLButtonDown(UINT, CPoint){

AfxMessageBox(L" Левая кнопка мыши");

 

}

 

void CMyMainWnd:: OnRButtonDown(UINT, CPoint){

 

SetWindowText(L" Правая кнопка мыши");

}

 

void CMyMainWnd:: OnKeyDown(UINT ch, UINT, UINT){

CPaintDC dc(this);

CRect rect;

GetWindowRect(& rect);

int w=rect.Width();

int h=rect.Height();

int l=rect.left;

int t=rect.top;

switch (ch)

{

case 0x25: l -= 10;

break;

case 0x26: t -= 10;

break;

case 0x27: l += 10;

break;

case 0x28: t += 10;

break;

case 0x31: w += 10; h +=10;

break;

case 0x32: w -= 10; h -=10;

break;

default:; break;

}

MoveWindow(l, t, w, h, 1);

 

 

}

 

void CMyMainWnd:: OnPaint()

{

CPaintDC* pDC = new CPaintDC(this);

pDC -> Rectangle(5, 5, 50, 50);

}

 

График

Picturebox TextBox RadioButton

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

using System.Drawing.Drawing2D;

 

 

namespace l3

{

public partial class Form1: Form

{

Pen pen = new Pen(Color.Black); //цвет линий

Pen pen1 = new Pen(Color.Black); //цвет точек

Brush br;

private double[] d, d2;

int size;

 

 

void cos(double start, double end, double step)

{

try

{

int Points_num;

if (((end - start) % step) > 0) Points_num = Convert.ToInt32((end - start) / step);

else Points_num = Convert.ToInt32(((end - start) / step) + 1);

if (Points_num < = 1) throw new Exception();

int j = 0;

double pos = start;

d = new double[Points_num];

d2 = new double[Points_num];

while (j < d.Length) { d[j] = Math.Cos(pos); d2[j] = pos; j++; pos += step; };

 

// графическая поверхность

Graphics g = graphWind.CreateGraphics();

 

// шрифт подписей данных

Font dFont = new Font(" Tahoma", 9);

 

// ** заголовок **

// шрифт заголовка

Font hFont = new Font(" Tahoma", 14, FontStyle.Regular);

string header = " График Косинуса";

 

// ширина области отображения текста

int w = (int)g.MeasureString(header, hFont).Width;

 

int x = (this.ClientSize.Width - w) / 2;

 

g.DrawString(header,

hFont, System.Drawing.Brushes.Black,

x, 5);

 

/*

* область построения графика:

* - отступ сверху - 100;

* - отступ снизу - 30;

*

* - отступ слева - 30;

* - отступ справа - 30.

*

* ClientSize - размер внутренней области окна

*

* график строим в отклонениях от минимального

* значения ряда данных, так, чтобы он занимал

* всю область построения

*/

 

// расстояние между точками графика (шаг по Х)

int sw = (int)((this.graphWind.Width - 60) / (d.Length - 1));

 

double max = d[0]; // максимальный эл-т массива

double min = d[0]; // минимальный эл-т массива

 

for (int i = 1; i < d.Length; i++)

{

if (d[i] > max) max = d[i];

if (d[i] < min) min = d[i];

}

 

// рисуем график

int x1, y1, x2, y2;

 

 

if (radioButton6.Checked)

{

 

 

// первая точка

x1 = 20;

y1 = this.graphWind.Height - 30 -

(int)((this.graphWind.Height - 100) *

(d[0] - min) / (max - min));

int y_min = this.graphWind.Height - 30 -

(int)((this.graphWind.Height - 100) *

(min - min) / (max - min));

 

// маркер первой точки

g.DrawRectangle(pen1,

x1 - 2, y1 - 2, size, size);

 

// подпись численного значения первой точки

if (checkBox1.Checked)

g.DrawString(Convert.ToString(d[0]),

dFont, System.Drawing.Brushes.Black,

x1 - 10, y1 - 30);

 

if (checkBox2.Checked)

{

g.DrawRectangle(pen, x1, y_min, 2, 3);

g.DrawString(Convert.ToString(d2[0]),

dFont, System.Drawing.Brushes.Black,

x1 - 10, y_min + 10);

}

 

// остальные точки

for (int i = 1; i < d.Length; i++)

{

 

x2 = 8 + i * sw;

y2 = this.graphWind.Height - 30 -

(int)((this.graphWind.Height - 100) *

(d[i] - min) / (max - min));

 

// маркер точки

g.DrawRectangle(pen1,

x2 - 2, y2 - 2, size, size);

 

//Рисуем ось

if (checkBox2.Checked)

{

g.DrawRectangle(pen, x1, y_min, 2, 3);

g.DrawLine(pen, x1, (graphWind.Height + 50) / 2 /*y_min*/, x2, (graphWind.Height + 50) / 2/*y_min*/);

// подпись численного значения

 

//g.DrawString(Convert.ToString(d2[i]),

// dFont, System.Drawing.Brushes.Black,

// x2 - 10, ((int)graphWind.Height+50) / 2/*y_min*/ + 10);

}

 

// соединим текущую точку с предыдущей

g.DrawLine(pen,

x1, y1, x2, y2);

 

// подпись численного значения

if (checkBox1.Checked)

g.DrawString(Convert.ToString(d[i]),

dFont, System.Drawing.Brushes.Black,

x2 - 10, y2 - 30);

 

x1 = x2;

y1 = y2;

}

}

if (radioButton7.Checked)

{

int height;

 

// первая точка

x1 = 20;

y1 = this.graphWind.Height - 30 -

(int)((this.graphWind.Height - 100) *

(d[0] - min) / (max - min));

 

int y_min = this.graphWind.Height - 30 -

(int)((this.graphWind.Height - 100) *

(min - min) / (max - min));

 

height = y_min - y1;

 

br = new SolidBrush(pen1.Color);

 

g.FillRectangle(br, new Rectangle(x1 - sw / 4, y1, sw / 2, height + 2));

 

// подпись численного значения первой точки

if (checkBox1.Checked)

g.DrawString(Convert.ToString(d[0]),

dFont, System.Drawing.Brushes.Black,

x1 - 10, y1 - 30);

 

if (checkBox2.Checked)

{

 

// подпись численного значения

g.DrawString(Convert.ToString(d2[0]),

dFont, System.Drawing.Brushes.Black,

x1 - 10, y_min + 5);

}

 

 

// остальные точки

for (int i = 1; i < d.Length; i++)

{

 

x2 = 8 + i * sw;

y2 = this.graphWind.Height - 30 -

(int)((this.graphWind.Height - 100) *

(d[i] - min) / (max - min));

 

height = y_min - y2;

 

g.FillRectangle(br, new Rectangle(x2 - sw / 4, y2, sw / 2, height + 2));

 

// подпись численного значения

if (checkBox1.Checked)

g.DrawString(Convert.ToString(d[i]),

dFont, System.Drawing.Brushes.Black,

x2 - 10, y2 - 30);

 

if (checkBox2.Checked)

{

 

// подпись численного значения

g.DrawString(Convert.ToString(d2[i]),

dFont, System.Drawing.Brushes.Black,

x2 - 10, y_min + 5);

}

 

x1 = x2;

y1 = y2;

}

}

 

}

catch { MessageBox.Show(" Возможно не верные данные! ", " Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); }

}

 

public Form1()

{

InitializeComponent();

Thickness.Text = " 1";

Point_size.Text = " 1";

}

 

private void Form1_Load(object sender, EventArgs e)

{

 

}

 

private void checkBox2_CheckedChanged(object sender, EventArgs e)

{

 

}

 

private void label5_Click(object sender, EventArgs e)

{

 

}

 

private void button3_Click(object sender, EventArgs e)

{

try

{

if (Thickness.Text! = null) pen.Width = Convert.ToInt32(Thickness.Text);

if (Point_size.Text! = null) size = Convert.ToInt32(Point_size.Text);

graphWind.Refresh();

cos(Convert.ToDouble(textBoxStart.Text), Convert.ToDouble(textBoxEnd.Text), Convert.ToDouble(textBoxStep.Text));

}

catch { MessageBox.Show(" Возможно не достаточно данных, или не верный формат! ", " Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); }

 

}

 

private void button1_Click(object sender, EventArgs e)

{

colorDialog1.AllowFullOpen = false;

 

colorDialog1.ShowHelp = true;

 

colorDialog1.Color = pen.Color;

 

if (colorDialog1.ShowDialog() == DialogResult.OK)

pen.Color = colorDialog1.Color;

 

 

}

 

 

private void Point_color_chise_Click(object sender, EventArgs e)

{

colorDialog1.AllowFullOpen = false;

 

colorDialog1.ShowHelp = true;

 

colorDialog1.Color = pen.Color;

 

if (colorDialog1.ShowDialog() == DialogResult.OK)

pen1.Color = colorDialog1.Color;

 

}

 

private void button2_Click(object sender, EventArgs e)

{

 

}

 

private void textBox3_TextChanged(object sender, EventArgs e)

{

 

}

 

}

}

Заполнение массива

listBox1 listBox2 label1 label2 label3 label4

namespace lab3

{

public partial class Form1: Form

{

Random rnd = new Random();

int[] A = new int[10];

int I;

int Max;

public Form1()

{

InitializeComponent();

}

 

private void button1_Click(object sender, EventArgs e)

{

listBox1.Items.Clear();

listBox2.Items.Clear();

//заполнение массива

for (I = 0; I < A.Length; I++)

{

A[I] = rnd.Next(100);

listBox1.Items.Add(Convert.ToString(I));

listBox2.Items.Add(Convert.ToString(A[I]));

}

//поиск максимального элемента

Max = 0;

A[Max] = A[0];

for (I = 1; I < A.Length; I++)

{

if (A[I] > A[Max])

{

A[Max] = A[I];

Max = I;

}

}

label1.Text = Convert.ToString(Max);

label2.Text = Convert.ToString(A[Max]);

}

}

}






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.