|
Программирование >> Элементы языков с и с++
Forml t]iis->AutoScaleDimensions = System: :Drawing: :SizeF{6, 13); iis->AutoScaleMode = System::Windows::Forms::AutoScaieMode::Font; ->ClientSize = System: : Drawing: : Size (454, 206); s->Controls->Add{this->label2); lttus->Controls->Add (this->labell); this->Controls->Add(this->textBox2) ; iis->Controls->Add (this->textBoxl) ; iis->Controls->Add {this->button2); s->Controls->Add(this->linkLabell) ; [ftis->Controls->Add(this->buttonl) ; tiiis->Naine = L Forml ; this->Text = L Forml ; lthis->ResumeLayout (false); s->PerformLayout (); iragma endregion Обработчики событий Iprivate: System::Void buttonl Click(System: :Object sender, Isystem::EventArgs e) this->Close(); private: System: :Void button2 Click (System:: Object sender. System:: EventArgs e) , / Требуем, чтобы первая ссылка всегда посещалась (т.е помечалась после щелчка на ее имени)*/ this->linkLabell->Links[ О ]->Visited = true; формирование свойства Text с помощью TextBox: кол-во строк в обоих TextBox должно быть одинаковым this->linkLabell->Text= ; /Register* Folder Call /MSN* Эту строку будем помещать в свойство Text. Для вьщеления частей, которые попадут в качестве имени гиперссыпки, применяем разделители: / - для обозначения начала текста, а * - для обозначения конца текста Формирование имен гиперссьшок в свойстве Text и начал и длин для свойства Links: String in; array <int> Ns = gcnew array <int> (1); array <String > out = gcnew array <String > (1); int tbl=this->textBox2->Text->Length; in=this->textBox2->Text; array <int> ArStart = gcnew array <int> (tbl); array <int> ArLen = gcnew array <int> (tbl); PasteTextString(in, out, ArStart,ArLen,Ns); this->linkLabell->Text=out[0]; Формирование собственно гиперссылок в свойстве Links int NumLines=Ns[0]; количество элементов массива for(int i=0; i< NumLines; i++) { if(i==0) для первой гиперссылки { this->linkLabell->Links[ i ]->LinkData = this->textBoxl->Lines[il; надо задать еще Start и Length для LinkArea: this->linkLabell->LinkArea.Start=ArStart[0]; this->linkLabell->LinkArea.Length=ArLen[0]; this->linkLabell->Links[ 0 ]->Visited = true; this->linkLabell->Links[ 0 ]->Enabled = true; continue; ) this->linkLabell->Links->Add( (int)ArStart[i], (int)ArLen[i], Bthis->textBoxl- >Lines[i]); 1 ------------------Обработчик щелчка на имени гиперссылки private: System: :Void linkLabell LinkClicked l (System: :Object sender. System: :Windows: : Forms::LinkLabelLinkClickedEventArgs e) Гиперссылка, на которой был щелчок, помечается как посещенная: this->linkLabell->Links[ linkLabell->Links->IndexOf( e->Link ) ]->Visited = true; Display the appropriate link based on the value of the LinkData property of the Link Object*. / Подготовка данных для команды Start (извлекается адрес объекта)*/ String target = dynamic cast<String >(e->Link->LinkData); I/объект отыскивается и выводится на экран:*/ System::Diagnostics::Process::Start( target ); ) обработчик * ); форма программный модуль Компонент PictureBox Компонент на.\одится в списке Containers палитры компонентов. Через этот компонент в форму выводится графическое изображение. Какое изображение надо выводить, указывается в свойстве image. Если нажать кнопку с многоточием в поле этого свойства, то откроется диалоговое / координаты берутся из сформированных массивов ArStart [ ], ArLen [ ], а сами ссылки - из TextBoxl: */
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |