Das Begriffswirrwarr hat sicherlich auch seinen Ursprung aus den verschiedenen Sichtweisen eines X- oder Mac-Programmierers auf der einen und dem Windows-Programmierer auf der anderen Seite. Beim Siegeszug grafischer Benutzeroberflächen (auch im Textmodus, etwa Turbo Vision) spielten rechteckige, überlappbare, per Clipping begrenzte Ausgabebereiche eine entscheidende Rolle, und wurden gemeinhin Fenster genannt. Erst später wurden nicht-rechteckige Ausgabebereiche möglich. Für die Ausgestaltung von Dialogen benötigte man Kontrollelemente, die sowohl Eigenschaften von Fenstern haben (bspw. rechteckig, positionierbar, anklickbar), als auch nicht (Clipping ist nicht erforderlich und würde die Performance einbrechen lassen). Nun ging man dazu verschiedene Wege. X und Mac verwenden "Widgets", die keine Fenster sind. Bei Microsoft hingegen sind Kontrollelemente ebenfalls Fenster (meistens zumindest), mehr oder weniger global verfügbare Fenstervorlagen mit vordefinierten "Klassennamen" (hat nur entfernt mit OOP zu tun). Das Stil-Bit WS_CHILD ("Fensterstil:Kind") sorgt schließlich dafür, dass das Fenster "eingebettet" erscheint und die Performance-Killer umgangen werden. Ein Steuerelement hingegen ist das, was der Benutzer sieht (oder hört oder der Blinde fühlt), egal wie es implementiert wurde. -- Henrik Haftmann 18:33, 1. Okt. 2012 (CEST)