Eine `tcolorbox` Lösung wie @Clemens in einem Kommentar angeregt hat, wäre für das Ziel sicher besser. Aber ich beantworte jetzt erstmal die eigentliche Frage:
In der Box wird der Befehl `\tikz` verwendet. Dieser setzt sein Argument in eine `tikzpicture`-Umgebung. Solange da nur ein Pfad, also nur ein `\path`, `\draw`, `\fill`, `\node` etc. Befehl folgt, braucht dieser nicht in geschweiften Klammern stehen.
Beispiel:
\documentclass[tikz,margin=5pt]{standalone}
\begin{document}
\tikz\fill(0,0)rectangle(2,2);
\end{document}
Werden in dem Argument mehrere Pfade verwendet, dann müssen diese von geschweiften Klammern umschlossen sein:
\documentclass[tikz,margin=5pt]{standalone}
\begin{document}
\tikz{
\fill(0,0)rectangle(2,2);
\draw[red,very thick](0.5,0.5)--(1.5,1.5);
}
\end{document}
Ist die Zeichnung noch etwas komplexer, dann ist es besser direkt die `tikzpicture` zu nutzen.
Übertragen auf den Beispiel heißt das, Du kannst entweder die `\tikz{...} `\tikz{...}` verwenden:
\documentclass[headheight=19pt]{scrartcl}
%------------------------------------------------------------------------------
\usepackage[ngerman]{babel}
\usepackage{tikz}
\usepackage[norndcorners,customcolors,nofill]{hf-tikz}
\usetikzlibrary{calc}
%------------------------------------------------------------------------------
\tikzset{
winkel/.style={draw=gray,angle eccentricity=.6,angle radius=0.6cm},
mybox/.style={draw=gray,fill=white,align=left,text width=.9\linewidth}
}
\newbox\mytikzbox
\newcommand{\tikzBox}[2][\mytikzbox]{%
\sbox#1{\pgfinterruptpicture#2\endpgfinterruptpicture}}
%------------------------------------------------------------------------------
\usepackage{blindtext}% für Fülltext
\begin{document}
\begin{center}
\begin{tikzpicture}
\tikzBox{%
\tikz[auto]{
\draw
(2.5,0) coordinate[label=right:B] (B)
-- node{$c$}
(-1,0) coordinate[label=left:A] (A)
-- node{$b$}
(2,2) coordinate[label=above right:C] (C)
-- node{$a$}
cycle
;
\draw[red]
(2,2)
--node[swap]{$h$}
($(A)!(C)!(B)$)% Lot von C auf die Strecke AB
;}
}
\node[mybox,rounded corners,font=\bfseries]
{\parbox[t]{.6\linewidth}{%
Blub
}%
\parbox[t]{.5\linewidth}{\centering%
\raisebox{\dimexpr-\height+\ht\strutbox\relax}{\usebox\mytikzbox}}};
\end{tikzpicture}
\end{center}
\end{document}
oder direkt eine `tikzpicture` Umgebung:
\documentclass[headheight=19pt]{scrartcl}
%------------------------------------------------------------------------------
\usepackage[ngerman]{babel}
\usepackage{tikz}
\usepackage[norndcorners,customcolors,nofill]{hf-tikz}
\usetikzlibrary{calc}
%------------------------------------------------------------------------------
\tikzset{
winkel/.style={draw=gray,angle eccentricity=.6,angle radius=0.6cm},
mybox/.style={draw=gray,fill=white,align=left,text width=.9\linewidth}
}
\newbox\mytikzbox
\newcommand{\tikzBox}[2][\mytikzbox]{%
\sbox#1{\pgfinterruptpicture#2\endpgfinterruptpicture}}
%------------------------------------------------------------------------------
\usepackage{blindtext}% für Fülltext
\begin{document}
\begin{center}
\begin{tikzpicture}
\tikzBox{%
\begin{tikzpicture}[auto]
\draw
(2.5,0) coordinate[label=right:B] (B)
-- node{$c$}
(-1,0) coordinate[label=left:A] (A)
-- node{$b$}
(2,2) coordinate[label=above right:C] (C)
-- node{$a$}
cycle
;
\draw[red]
(2,2)
--node[swap]{$h$}
($(A)!(C)!(B)$)% Lot von C auf die Strecke AB
;
\end{tikzpicture}
}
\node[mybox,rounded corners,font=\bfseries]
{\parbox[t]{.6\linewidth}{%
Blub
}%
\parbox[t]{.5\linewidth}{\centering%
\raisebox{\dimexpr-\height+\ht\strutbox\relax}{\usebox\mytikzbox}}};
\end{tikzpicture}
\end{center}
\end{document}