Programowanie komputerów



Podobne dokumenty
Metodyka programowania. Edytor tekstu. Specyfikacja

Edytor tekstu punktacja

Kalkulator. Programowanie komputerów. Kalkulator możliwe udoskonalenia. Kalkulator. Kalkulator. Kalkulator możliwe udoskonalenia

Delphi podstawy programowania. Podstawowe Komponenty

Cel: Przypisujemy przyciskom określone funkcje panel górny (Panel1)

Programowanie Wizualno Obiektowe - zajęcia 2 (PWO_BCPP_2_2) Tworzenie i kompilowanie projektów Programowanie Wizualno Obiektowe Zajęcia 2, część 2

TabControl kontrolka odpowiedzialna za wyświetlenie zestawu zakładek. PageControl podobnie jak TabControl ale posiada wbudowane strony.

Dlaczego stosujemy edytory tekstu?

Temat: Organizacja skoroszytów i arkuszy

Zasady Programowania (Projektowanie) C++ - część 6 1/9 Programowanie Wizualno Obiektowe (3)

Włączanie/wyłączanie paska menu

Europejski Certyfikat Umiejętności Komputerowych. Moduł 3 Przetwarzanie tekstów

W kolejnym odcinku zajmiemy się umieszczaniem w naszym projekcie zestawu ikon służących szybkiemu korzystaniu z opcji programu.

Metodyka programowania. Edytor tekstu. Komponenty edytora

Edytor tekstu OpenOffice Writer Podstawy

Klawiatura. Klawisze specjalne. Klawisze specjalne. klawisze funkcyjne. Klawisze. klawisze numeryczne. sterowania kursorem. klawisze alfanumeryczne

Czcionki bezszeryfowe

Jak napisaś edytor tekstowy w Delphi (wersja Delphi 2009)

I. Spis treści I. Spis treści... 2 II. Kreator szablonów Tworzenie szablonu Menu... 4 a. Opis ikon Dodanie nowego elementu...

Ćwiczenia nr 2. Edycja tekstu (Microsoft Word)

System Informatyczny CELAB. Terminy, alarmy

Europejski Certyfikat Umiejętności Komputerowych. Moduł 3 Przetwarzanie tekstów

Informatyka Arkusz kalkulacyjny Excel 2010 dla WINDOWS cz. 1

Informatyka Edytor tekstów Word 2010 dla WINDOWS cz.1

Skróty klawiaturowe w systemie Windows 10

EDYCJA TEKSTU MS WORDPAD

Sylabus Moduł 2: Przetwarzanie tekstów

Wszystkie Zapytanie. Kopiuj/Duplikuj. Czyść Zapisz Lista wartości. Wytnij Kopiuj Wklej Cofnij. Odśwież. Przejdź do innego bloku

Kolory elementów. Kolory elementów

Ćwiczenie 5 Menu programu

Gdy z poziomu programu Delphi otworzysz folder pierwszy program, zauważysz tylko dwa pliki [rys.1]:

Informatyka Arkusz kalkulacyjny Excel 2010 dla WINDOWS cz. 1

ECDL/ICDL Przetwarzanie tekstów Moduł B3 Sylabus - wersja 5.0

Wykład 10 Kolekcje, pliki tekstowe, c.d. Przykład: Notatnik

Podstawowe kontrolki graficzne. Obsługa plików poprzez kontrolki

Dodawanie stron do zakładek

Informatyka Arkusz kalkulacyjny Excel 2010 dla WINDOWS cz. 2

KROK 17 i 18. Cel: Tworzymy oddzielne okno - O autorze. 1. Otwórz swój program. 2. Skompiluj i sprawdź, czy działa prawidłowo.

Zaznaczanie komórek. Zaznaczenie pojedynczej komórki polega na kliknięciu na niej LPM

Podstawowe czynnos ci w programie Word

Informatyka Edytor tekstów Word 2010 dla WINDOWS cz.1

Korzystanie z edytora zasad grupy do zarządzania zasadami komputera lokalnego w systemie Windows XP

Podręcznik użytkownika programu. Ceremonia 3.1

Oficyna Wydawnicza UNIMEX ebook z zabezpieczeniami DRM

KATEGORIE OBRAZKOWE REALIZACJA

MS Access formularze

W tym odcinku zajmiemy się przeglądem palety komponentów.

Czytnik kart pamięci 8w1, Conrad USB 2.0 Instrukcja obsługi

Praca w edytorze WORD

SERWER AKTUALIZACJI UpServ

Edytor tekstu MS Office Word

Menu Plik w Edytorze symboli i Edytorze widoku aparatów

Podstawy tworzenia prezentacji w programie Microsoft PowerPoint 2007

Przygotuj za pomocą tabulatorów element formularza. Utwórz pole tekstowe i sformatuj tak, aby dół napisu w polu był dokładnie nad kropkami.

Tworzenie prezentacji w MS PowerPoint

bla bla Dokumenty podręcznik użytkownika

Delphi podstawy programowania. Dialogi

Podstawowe własności komponentów: nazwa komponentu

SYSTEM CYFROWEJ REJESTRACJI PRZEBIEGU ROZPRAW SĄDOWYCH W SĄDACH POWSZECHNYCH INSTRUKCJA UŻYTKOWNIKA PROGRAMU RECOURT PLAYER

OKNO NA ŚWIAT - PRZECIWDZIAŁANIE WYKLUCZENIU CYFROWEMU W MIEŚCIE BRZEZINY

Ćwiczenie 6 Proste aplikacje - podstawowe komponenty.

Tworzenie okna dialogowego w edytorze raportu SigmaNEST. część 1

Microsoft Visual C : praktyczne przykłady / Mariusz Owczarek. Gliwice, cop Spis treści

Wybieramy File->New->Project Wybieramy aplikację MFC->MFC Application jak na rysunku poniżej:

WYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM. NetBeans. Wykonał: Jacek Ventzke informatyka sem.

Spis treści. Wstęp 11 Rozdział 1. Informacje wstępne 13 Windows 7 - wymagania 13 Uaktualnianie starszych wersji systemu Windows 16

Jak utworzyć raport kasowy?

Szkolenie dla nauczycieli SP10 w DG Operacje na plikach i folderach, obsługa edytora tekstu ABC. komputera dla nauczyciela. Materiały pomocnicze

Informatyka Edytor tekstów Word 2010 dla WINDOWS cz.3

KATEGORIA OBSZAR WIEDZY

Zadanie 1. Stosowanie stylów

Defekty Mr Buggy 4. Znane, nieznane i literówki (wybrane)

C++ Builder. Programowanie komputerów. C++ Builder: OOP. C++ Builder: EDP. C++ Builder: EDP. C++ Builder: EDP

Informatyka Edytor tekstów Word 2010 dla WINDOWS cz.3

Skróty klawiaturowe w programie Microsoft Excel 2013

Edytor tekstu MS Word podstawy

Ćwiczenia 9 - Swing - część 1

Edytor tekstu Microsoft Office 2007 przewodnik dla gimnazjalisty Autor: Dariusz Kwieciński nauczyciel ZPO w Sieciechowie

Kierunek: ETI Przedmiot: Programowanie w środowisku RAD - Delphi Rok III Semestr 5. Ćwiczenie 5 Aplikacja wielo-okienkowa

Dodanie nowej formy do projektu polega na:

Instrukcja obsługi funkcji specjalnych szablonu C01 v.1.0

Dodawanie i modyfikacja atrybutów zbioru

I. Program II. Opis głównych funkcji programu... 19

Tworzenie formularzy w Microsoft Office Word 2007

Kurs obsługi systemu CMS. Prawie wszystkie treści wyświetlające się na stronie są zlokalizowane w dziale artykuły.

Rozwiązanie ćwiczenia 8a

asix5 Podręcznik użytkownika Notatnik - podręcznik użytkownika

Wstęp 5 Rozdział 1. Instalacja systemu 13. Rozdział 2. Logowanie i wylogowywanie 21 Rozdział 3. Pulpit i foldery 25. Rozdział 4.

Informatyka Arkusz kalkulacyjny Excel 2010 dla WINDOWS cz. 2

Skróty klawiaturowe w PowerPoint

Krótki kurs obsługi środowiska programistycznego Turbo Pascal z 12 Opracował Jan T. Biernat. Wstęp

Formularze i raporty w MS Access

KATEGORIA OBSZAR WIEDZY NR ZADANIA Podstawowe informacje i czynności

Bazy danych raporty. 1. Przekopiuj na dysk F:\ bazę M5BIB.mdb z dysku wskazanego przez prowadzącego.

Edytor tekstu Notatnik

wstawianie przycisków umożliwiających wybieranie wartości poprzez klikanie strzałek

VComNet Podręcznik użytkownika. VComNet. Podręcznik użytkownika Wstęp

Advance CAD 2016 SP2. W tym dokumencie opisano ulepszenia w Advance CAD Service Pack 2. Co nowego w Advance CAD 2016 SP2

Notatnik w Windows Forms

Transkrypt:

Programowanie komputerów Edytor tekstu. Edytor tekstu Złożony interfejs użytkownika Nieskomplikowany algorytm

Komponenty kalkulatora Dokument: można użyć Memo (używany w NotePad) lub RichEdit (używany w WordPad), Menu główne należy użyć komponentu MainMenu, Pasek narzędzi należy użyć komponentów ToolBar i ToolButton oraz ewentualnie SpeedButton, Edit, ComboBox Inne okna dialogowe, pliki ini Memo Memo jest komponentem służącym do edycji większych fragmentów tekstu. W przeciwieństwie do Edit (pole edycyjne), może wyświetlać wiele linii tekstu Memo posiada wiele właściwości oraz metod ułatwiających zarządzanie edytowanym tekstem (m.in. zapis/odczyt pliku, operacje schowka systemowego kopiuj/wytnij/wklej itd.); Może być podstawą prostego edytora tekstu, klasy notatnika systemowego

Memo Właściwości: Lines kolekcja obiektów AnsiString, zawierających tekst poszczególnych akapitów Text obiekt AnsiString, zawierający cały tekst MaxLenght maksymalna długość tekstu; jeżeli 0 (zero), wartość tego parametru ustala system (np. w Windows 98 ok. 64kB) Memo Właściwości: Enabled dostępność, tj. możliwość edycji i zaznaczania oraz kopiowania tekstu ReadOnly tylko do odczytu, tj. możliwość edycji tekstu

Memo Właściwości: Align wyrównanie komponentu względem rodzica (alnone brak, komponent jak w projekcie formularza, alclient zajmuje całą dostępną przestrzeń) WordWrap zawijanie wierszy ScrollBars paski przewijania (brak, pionowy ssvertical, poziomy sshorizontal, oba ssboth) Memo Właściwości: Font właściwości czcionki Color kolor tła (domyślnie systemowy kolor okna) Alignment wyrównanie tekstu (do lewej/środka/prawej)

Memo Metody: Clear () Wyczyszczenie zawartości (Plik/Nowy) ClearSelection () Usunięcie zaznaczonego tekstu (Edycja/Usuń) CopyToClipboard () CutToClipboard () PasteFromClipboard () Polecenia edycyjne (Edycja/Kopiuj,Wytnij/Wklej) SelectAll () Zaznaczenie tekstu (Edycja/Zaznacz wszystko) Memo Metody: Undo () Cofnięcie ostatniej czynności (Edycja/Cofnij) ClearUndo () Skasowanie pamięci metody Undo(). Metody ClearUndo() należy użyć po wykonaniu poleceń menu: Plik/Nowy Plik/Otwórz

Memo Metody udostępniane przez właściwość Lines: LoadFromFile (FileName: AnsiString) Wczytanie zawartości pliku do mema SaveToFile (FileName: AnsiString) Zapisanie zawartości memo do pliku. FileName jest kwalifikowaną nazwą pliku. Nazwę pliku użytkownik wskazuje w odpowiednim oknie dialogowym (OpenDialog lub SaveDialog) MainMenu MainMenu (podobnie PopupMenu) to komponent "niewidzialny", Jest uporządkowaną kolekcją komponentów MenuItem, także "niewidzialnych". MainMenu zawiera opis struktury menu, natomiast wyświetlanie i obsługa menu należy do Windows API. Do projektowania struktury menu służy specjalny edytor.

MainMenu Okno edytora menu: MenuItem Właściwości Caption Opis pozycji menu, widoczny dla użytkownika; ShortCut Wybierany z listy skrót klawiaturowy (w rodzaju [F8], [Ctrl]+[A] itp.) Checked Wyświetlanie symbolu zaznaczenia, przydatne gdy menu ma działać jak przełącznik

ToolBar i ToolButton ToolBar: Pasek narzędzi, wyposażony w specjalne przyciski (ToolButton) Można na nim umieszczać inne komponenty (np. SpeedButton, Edit) ToolButton Przycisk na pasku narzędzi, dostępny jedynie jako element ToolBar ToolBar Właściwości: Images Komponent ImageList zawierający obrazki Wrapable Automatyczne zawijanie zbyt długiego paska ButtonHeight Wysokość wszystkich elementów na pasku Flat Wyłącza efekt 3D ShowCaptions, List Wyświetlanie napisu i położenie względem obrazka

ToolButton Właściwości: ImageIndex Numer obrazka (w skojarzonym z tym ToolBar-em komp. ImageList) wyświetlanego na przycisku Style Zwykły (tbsbutton) lub przełącznik (tbscheck) Grouped Zmienia grupę sąsiadujących przycisków (Style: tbscheck) w przyciski radiowe Down Odpowiednik "Checked" pól wyboru (CheckBox-ów) OpenDialog, SaveDialog Komponent niewidzialny, wyświetlający standardowe okno dialogowe systemu Windows

OpenDialog, SaveDialog Właściwości: Title Tytuł okna DefaultExt Rozszerzenie domyślne (ważne w przyp. SaveDialog) Filter Nazwy typów plików i ich maski OpenDialog, SaveDialog Właściwości: Options Opcje, do najważniejszych należą, - offilemustexist - ofnoreadonlyreturn - ofoverwriteprompt -ofpathmustexist FileName Kwalifikowana nazwa wskazanego pliku

OpenDialog, SaveDialog Metody: bool Execute () Wyświetla okno dialogowe; Zwracana true (jeżeli użytkownik kliknie Zapisz) lub false (jeżeli kliknie Anuluj) Sposób użycia (SD nazwa SaveDialog):... ZapiszClick... { if (SD->Execute() ) Memo->Lines->SaveToFile (SD->FileName); } RichEdit Edytor tekstu, obsługujący format rtf (Rich Text Format). Pozwala na niezależne formatowanie fragmentów edytowanego tekstu Posiada wszystkie właściwości i metody komponentu Memo oraz szereg dodatkowych

RichEdit Właściwości: DefAttributes Domyślne właściwości czcionki SelAttributes Właściwości czcionki dla obszaru zaznaczenia Paragraph Właściwości paragrafu dla obszaru zaznaczenia PlainText (typ bool) Sposób zapisu do pliku (metoda SaveToFile), jeżeli true to czysty tekst bez formatowania, jeżeli false, to w formacie RTF RichEdit Metody: FindText Wyszukiwanie tekstu; Można użyć w połączeniu z oknami dialogowymi FindDialog i ReplaceDialog Print Wydruk na domyślnej drukarce; Można użyć w połączeniu z oknem dialogowym PrintDialog

RichEdit Zdarzenia: OnSelectionChange Informuje o zmianie obszaru zaznaczenia (może to być same tylko przesunięcie kursora), Można wykorzystać do programowego "sprzężenia zwrotnego" uzależnienia stanu komponentów w menu oraz na pasku narzędzi od formatowania aktualnie zaznaczonego tekstu Programowanie komputerów Udoskonalenia edytora.

Edytor Zasady oceniania edytora Ocena = suma uzyskanych punktów (w tym 2pkt. za elementy obowiązkowe) ale Na ocenę 4 przynajmniej jedno rozszerzenie za minimum 1 pkt. Na 5 przynajmniej jedno rozszerzenie za minimum 1,5 pkt. Nie można mieszać rozszerzeń edytora na bazie Memo i RichEdit Edytor tekstu Elementy obowiązkowe (2,0) edytor na bazie komponentu Memo; menu: plik (polecenia: nowy, otwórz, zapisz jako, zamknij) i edycja (polecenia: cofnij, kopiuj, wytnij, wklej, zaznacz wszystko); użycie okien dialogowych w poleceniach otwórz oraz zapisz jako

Elementy obowiązkowe Polecenia menu plik: Nowy wyczyszczenie zawartości Memo Otwórz wyświetlenie okna dialogowego OpenDialog; wczytanie pliku do Memo jeżeli kliknięto Otwórz Zapisz jako wyświetlenie okna dialogowego SaveDialog; zapisanie tekstu do pliku jeżeli kliknięto Zapisz Zamknij Zamknięcie programu Elementy obowiązkowe Polecenia menu edycja cofnij, kopiuj, wytnij, wklej, zaznacz wszystko Wykonanie poleceń menu plik: nowy, otwórz, zapisz jako - powinno dodatkowo czyścić pamięć operacji Cofnij (metoda ClearUndo)

Edytor tekstu możliwe udoskonalenia Edytor na bazie Memo (1,5) pliki ini zapisywanie i odczytywanie konfiguracji (rozmiar i położenie okna, opcje typu zawijanie wierszy, atrybuty czcionki i paragrafu) (1,0) czcionka i jej atrybuty oraz atrybuty paragrafu (0,5) pasek narzędzi Edytor tekstu możliwe udoskonalenia Edytor na bazie RichEdit (1,5) czcionka i jej atrybuty oraz atrybuty akapitu ze sprzężeniem zwrotnym (1,0) pliki ini zapisywanie i odczytywanie konfiguracji (rozmiar i położenie okna, opcje w rodzaju zawijanie wierszy) (1,0) pasek narzędzi, ze sprzężeniem zwrotnym (0,5) sprzężenie zwrotne w menu: plik (zapisz) oraz edycja (kopiuj, wytnij, wklej) (0,5) menu kontekstowe

Edytor tekstu możliwe udoskonalenia Niezależnie od wyboru Memo/RichEdit (1,5) inteligentna blokada zamknięcia programu (Yes/No/Cancel) (1,0) pół-inteligentna blokada zamknięcia programu (Yes/No) (0,5) ćwierć-inteligentna blokada zamknięcia programu (Ok) (0,5) ukrywanie paska narzędzi (0,5) zawijanie wierszy (0,5) czcionka (menu) (0,5) okno powitalne (splash screen) Udoskonalenia kalkulatora UWAGA! Stopień komplikacji kodu rośnie znacznie szybciej, niż ilość udoskonaleń: Złożoność Udoskonalenia

Czcionka Dodatkowe polecenie w menu: Format/Czcionka Wybranie polecenia Format/Czcionka powoduje wyświetlenie okna dialogowego FontDialog oraz zastosowanie ustawień czcionki do całego dokumentu (Memo) albo obszaru zaznaczenia (RichEdit), jeżeli użytkownik potwierdzi zmiany. Pasek narzędzi (Memo) Pasek narzędzi, udostępniający podstawowe polecenia menu: Plik nowy, otwórz, zapisz jako Edycja cofnij, wytnij, kopiuj, wklej UWAGA Nie należy tworzyć nowych funkcji obsługi zdarzeń, a jedynie wskazać istniejącą funkcję (stworzoną wcześniej dla menu) w inspektorze obiektów

Pasek narzędzi (Memo) Pasek narzędzi, udostępniający podstawowe polecenia menu: Plik nowy, otwórz, zapisz jako Edycja cofnij, wytnij, kopiuj, wklej Pasek narzędzi (Memo) Pasek narzędzi, udostępniający podstawowe polecenia menu: Plik nowy, otwórz, zapisz jako Edycja cofnij, wytnij, kopiuj, wklej

Pasek narzędzi ze sprzężeniem (RichEdit) Pasek narzędzi, udostępniający podstawowe polecenia menu: Plik nowy, otwórz, zapisz jako Edycja cofnij, wytnij, kopiuj, wklej przy czym polecenia menu Edycja są dostępne lub nie, zależnie od sytuacji Atrybuty czcionki i paragrafu (Memo) Pasek narzędzi udostępnia podstawowe atrybuty czcionki (pogrubienie, kursywa, kolor) oraz wyrównanie tekstu Przyciski B (pogrubienie) oraz I (kursywa) powinny działać jak pola wyboru (CheckBox) Przyciski wyrównania tekstu powinny działać jak przyciski radiowe (RadioButton) Kolor jest wybierany przez okno dialogowe ColorDialog

Atrybuty czcionki i paragrafu (RichEdit) Pasek narzędzi udostępnia podstawowe atrybuty czcionki (pogrubienie, kursywa, kolor) oraz paragrafu wyrównanie tekstu oraz wypunktowanie Działanie przycisków jak dla Memo Dodatkowo zrealizowane jest sprzężenie zwrotne: stan przycisków czcionki i paragrafu zmienia się wraz ze zmianą położenia kursora Zawijanie wierszy Dodatkowe polecenie w menu: Widok/Zawijanie wierszy Element menu Zawijanie wierszy powinien działać jak przełącznik: w stanie włączonym widoczny jest symbol zaznaczenia w menu, włączone jest zawijanie wierszy oraz włączony pasek przewijania pionowego Memo; w stanie wyłączonym brak symbolu zaznaczenia, wyłączone zawijanie, włączone paski przewijania pionowy i poziomy Jeżeli edytor ma pasek narzędzi, polecenie powinno być również w nim dostępne

Ukrywanie paska narzędzi Dodatkowe polecenie w menu: Widok/Pasek narzędzi Element menu Pasek narzędzi powinien działać jak przełącznik: w stanie włączonym widoczny jest symbol zaznaczenia w menu oraz widoczny jest pasek narzędzi; w stanie wyłączonym brak symbolu zaznaczenia, pasek narzędzi niewidoczny Pasek narzędzi wyposażony jest w menu kontekstowe (PopupMenu), realizujące tę samą funkcję Blokada zamknięcia programu Zamknięcie programu możliwe przyczyny Polecenie Plik/Zakończ Kliknięcie x na pasku tytułu Skrót klawiaturowy [Alt]+[F4] Zamknięcie systemu Niezależnie od przyczyny, system wysyła do aplikacji komunikat, nakazujący zakończenie działania. Objawia się to wystąpieniem dwóch zdarzeń.

Blokada zamknięcia programu Zamknięcie programu - skutek Zdarzenie OnCloseQuerry (pytanie czy aplikacja może zostać zamknięta)... FormCloseQuery(..., bool &CanClose) { } Zdarzenie OnClose (informacja że aplikacja jest zamykana) Jeżeli aplikacja odmawia zamknięcia (CanClose=0), to zdarzenie OnClose nie wystąpi, Blokada zamknięcia programu Od czego zależy decyzja programu edytora: Czy dokument został zmodyfikowany od czasu utworzenia/otwarcia/zapisania właściwość Modified komponentu Memo Czy dokument posiada nazwę dodatkowa zmienna, ustawiana po wykonaniu poleceń nowy/otwórz/zapisz jako Decyzje użytkownika okno dialogowe MessageBox (co robić dajej?) okno dialogowe SaveDialog (czy i gdzie zapisać plik?)

Blokada zamknięcia programu Trzy stopnie trudności: (1,5) profesjonalnie (1,0) bez zapamiętywania nazwy pliku (0,5) bez zapisywania UWAGA Oprócz blokady zamknięcia programu, podobne działania należy realizować przy obsłudze poleceń Nowy i Otwórz Blokada zamknięcia programu N Modified? T Zamknij N MsgBox? T Zamknij A Anuluj N Nazwa? T N SaveDlg? T SaveToFile Anuluj SaveToFile Zamknij Zamknij

Blokada zamknięcia programu N Modified? T Zamknij N MsgBox? T Zamknij N T SaveDlg? Anuluj SaveToFile Zamknij Blokada zamknięcia programu N Zamknij Modified? T MsgBox OK Anuluj

Metoda MessageBox Jest to metoda obiektu Application: Application->MessageBox (char *Text, char Caption, int Flags) Text treść komunikatu w oknie (można użyć "\n", aby podzielić tekst na linie) Caption tytuł okna Flags określa jakie przyciski oraz jaka ikona jest widoczna na oknie: MB_YESNOCANCEL MB_YESNO MB_OK MB_ICONERROR MB_ICONEXCLAMATION Rezultat ID klikniętego przycisku: IDYES, IDNO, IDCANCEL, Metoda MessageBox Przykład: Res = Application->MessageBox ( "Plik został zmodyfikowany\n" "Czy chcesz zapisać zmiany", "Pad", MB_YESNO MB_ICONEXCLAMATION ); Złożone komunikaty można utworzyć przy pomocy obiektu AnsiString; trzeba wtedy użyć met. c_str: String T = String() + "xxx" + Application->MessageBox ( T.c_str(), "Pad", MB_YESNO MB_ICONEXCLAMATION );